Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何在不调用变量的情况下回显变量?_Batch File - Fatal编程技术网

Batch file 如何在不调用变量的情况下回显变量?

Batch file 如何在不调用变量的情况下回显变量?,batch-file,Batch File,我试图创建一个批处理文件,创建另一个批处理文件(Compile.bat),并需要将%errorlevel%变量回显到Compile.bat中,但由于调用它时它是一个全局变量,因此它使用当前值 这是密码 ECHO if NOT "%errorlevel%"=="0" PAUSE >> .\%name%\Compile.bat 但是Compile.bat接收 if NOT "0"=="0" PAUSE 有没有办法阻止它认为%errorlevel%是一个变量?您必须用双精度%%来转义

我试图创建一个批处理文件,创建另一个批处理文件(Compile.bat),并需要将%errorlevel%变量回显到Compile.bat中,但由于调用它时它是一个全局变量,因此它使用当前值

这是密码

ECHO if NOT "%errorlevel%"=="0" PAUSE >> .\%name%\Compile.bat
但是Compile.bat接收

if NOT "0"=="0" PAUSE 

有没有办法阻止它认为%errorlevel%是一个变量?

您必须用双精度
%%
来转义errorlevel变量,如下所示:

ECHO if NOT "%%errorlevel%%"=="0" PAUSE >> .\%name%\Compile.bat
我想这就是你想要的:

if NOT "%errorlevel%"=="0" PAUSE

这里有一些帮助代码

@Echo关闭
设置“name=SomeName”
设置“变量=值”
Rem Write to Compile.bat
Echo按任意键写入Compile.bat
暂停>Nul
(
回声@回声关闭
Echo%%variable%%=%variable%
回声暂停
)>%name%\Compile.bat
Echo已完成对Compile.bat的编写
超时3/NoBreak>Nul
下面是代码的剩余部分

您的解释不够笼统。问题是百分比符号。不是变量。如果需要将百分比符号回显到另一个文件,则始终将百分比符号加倍。不需要使用外括号进行比较。你可以用双引号<代码>如果不是回显“%%errorlevel%%”==“0”暂停>>。\%name%\Compile.bat