将变量作为 %VAR% 而不是变量的值写入文件,以及在重定向输出时要求使任务列表功能正确。
我用来写入文件的代码:
echo tasklist /FI "IMAGENAME eq %ZOEXT%" 2>NUL | find /I /N "%ZOEXT%">NUL >> boot.bat
echo if "%ERRORLEVEL%"=="1" start /d "%ZODIR%" %ZOEXT% >> boot.bat
结果:
tasklist /FI "IMAGENAME eq Zoiper.exe"
if "0"=="1" start /d "C:\Documents and Settings\mgladman\Desktop\Zoip\Zoiper Communicator\" Zoiper.exe
我想添加到 boot.bat 中的内容:
tasklist /FI "IMAGENAME eq %ZOEXT%" 2>NUL | find /I /N "%ZOEXT%">NUL
if "%ERRORLEVEL%"=="1" start /d "%ZODIR%" %ZOEXT%
如果你想要我可以发布整个代码而不仅仅是段,这是一个很酷的脚本:P 只是有这个小问题。
我能想到的唯一“解决方法”是制作第一个脚本,在第一个文件中回显 echo 并写入正确的系统数据(这必须是一个可移植脚本,这样才能工作,但会很混乱)