永发信息网

批处理生成另一批处理

答案:2  悬赏:40  手机版
解决时间 2021-08-24 04:51
  • 提问者网友:绫月
  • 2021-08-23 16:45

@echo off

echo Echo. >>12.bat
echo Set Choice= >>12.bat
echo Set /P Choice=   请输入您要进行的操作,然后按回车: >>12.bat
echo If "%Choice%"=="" Goto Start >>12.bat
echo If Not "%Choice%"=="" Set Choice=%Choice:~0,1% >>12.bat
echo If /I "%Choice%"=="1" GOTO Err10 >>12.bat
echo If /I "%Choice%"=="2" GOTO Err20 >>12.bat
echo If /I "%Choice%"=="3" GOTO Err30 >>12.bat
echo If /I "%Choice%"=="4" GOTO Err40 >>12.bat
echo If /I "%Choice%"=="r" shutdown /r /f /t 10 /c 系统即将重起,请保存好文件 >>12.bat
echo If /I "%Choice%"=="c" shutdown /a >>12.bat
echo If /I "%Choice%"=="q" exit >>12.bat
echo Goto start >>12.bat

pause

 

这是我截取的一部分  生成别一批处理时 %choice%  没有了  这是怎么回事

所有%里面的都没有了%

最佳答案
  • 五星知识达人网友:人類模型
  • 2021-08-23 18:08

@echo off


echo Echo. >>12.bat
echo Set Choice= >>12.bat
echo Set /P Choice=   请输入您要进行的操作,然后按回车: >>12.bat
echo If "%%Choice%%"=="" Goto Start >>12.bat
echo If Not "%%Choice%%"=="" Set Choice=%%Choice:~0,1%% >>12.bat
echo If /I "%%Choice%%"=="1" GOTO Err10 >>12.bat
echo If /I "%%Choice%%"=="2" GOTO Err20 >>12.bat
echo If /I "%%Choice%%"=="3" GOTO Err30 >>12.bat
echo If /I "%%Choice%%"=="4" GOTO Err40 >>12.bat
echo If /I "%%Choice%%"=="r" shutdown /r /f /t 10 /c 系统即将重起,请保存好文件 >>12.bat
echo If /I "%%Choice%%"=="c" shutdown /a >>12.bat
echo If /I "%%Choice%%"=="q" exit >>12.bat
echo Goto start >>12.bat


pause


 


 


楼主试下。。也就是把单个的%换成%%

全部回答
  • 1楼网友:末日狂欢
  • 2021-08-23 18:48

哦,这个在批处理中和在DOS模式下有点不同,你要是想在批处理中输出一个%号的话,就要用%%来输出。%choice% 可以是代表变量,可有时也是行内注释,虽然不常用。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯