2016-11-19 115 views

回答

0
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或更大时,将会检测到,因此如果未找到,请将其启动。

+0

您也可以使用条件执行将其缩短一点。 (* .exe)中的/ for %% i do tasklist | findstr/i/b/L/c:“%% i”> nul || start“”/ b“%% i”' – Squashman

+0

因为%%我是一个exe文件的路径,而不是.exe名称本身,所以它将返回false,因为tasklist | findstr只返回exe名称而不是路径 –

+1

OK - 修复(在'i'前插入'〜nx' 'findtr'字符串只能选择名字和扩展名 – Magoo

相关问题