如何编辑此批处理文件以检查exe是否正在运行
问题描述:
for /r %%i in (*.exe) do start "" /b "%%i"
如何在我启动之前编辑该exe文件以查看exe是否正在运行?如何编辑此批处理文件以检查exe是否正在运行
答
for /r %%i in (*.exe) do tasklist|findstr /i /b /L /c:"%%~nxi" >nul&if errorlevel 1 start "" /b "%%i"
这执行了tasklist
,将结果发送到findstr
看起来为一条线,与/b
开始/C:
字面上/L
字符串“%% i”的/i
无论箱子(处置任何输出的)。如果findstr
找不到匹配的字符串,则将errorlevel
设置为1.当语句检测到errorlevel
是1或更大时,将会检测到,因此如果未找到,请将其启动。
您也可以使用条件执行将其缩短一点。 (* .exe)中的/ for %% i do tasklist | findstr/i/b/L/c:“%% i”> nul || start“”/ b“%% i”' – Squashman
因为%%我是一个exe文件的路径,而不是.exe名称本身,所以它将返回false,因为tasklist | findstr只返回exe名称而不是路径 –
OK - 修复(在'i'前插入'〜nx' 'findtr'字符串只能选择名字和扩展名 – Magoo