我试图运行
@echo off & for /l %%a in (0) do TaskList /FI "IMAGENAME eq prog.exe" 2>NUL | Find "prog.exe" >NUL || (echo "update" & EXIT)
作为一个带
的单线cmd.exe /C <----here -->
但cmd立刻崩溃了。当我将完全相同的命令放在批处理文件中时,它可以工作。 我如何格式化命令才能使其正常工作?
背景: 我尝试自我更新(也称为&#34;在运行时更换&#34;)ac#executable,而无需创建外部批处理脚本,但借助于&#34; cmd /C"。
答案 0 :(得分:2)
由于您运行的代码不在批处理文件中,因此百分号不需要转义,因此,它不是%%a
而是%a
需要引用完整命令
cmd /c "@echo off & for /l %a in (0) do TaskList /FI "IMAGENAME eq prog.exe" 2>NUL | Find "prog.exe" >NUL || (echo "update" & exit)"