WMIC似乎在Windows文件夹中有其自己的变量,并且完全忽略了我的系统列出的变量(使用set
)。我正在运行的命令是wmic process where "not executablepath like '%%systemroot%%'" delete
,以杀死从Windows文件夹以外的任何位置运行的所有进程。如果使用%%systemroot%%
或相同的%%windir%%
,则程序将继续运行并杀死其权限范围内的所有正在运行的进程,而不管其位置如何。但是由于某些原因,正如我在网上阅读的内容一样,WMIC处理变量%%windows%%
并可以正确执行,但%%windows%%
甚至不是我系统下列出的变量。]>
WMIC似乎对于Windows文件夹具有其自己的变量,并且完全忽略了我的系统列出的变量(使用set)。我正在运行的命令是wmic进程,其中“不是'%...
[从windows batch-file开始,您需要将%
通配符加倍,但不需要将变量名括起来的那些加倍,因此,您需要%SystemRoot%
,但也需要通配符%%
。由于%SystemRoot%
的值始终是标准路径,因此只需要在其后添加通配符即可。此外,wmic要求路径使用双反斜杠,因此您需要执行子字符串替换%SystemRoot:\=\\%
。同样重要的是要注意,有许多进程往往不携带ExecutablePath
值,因此明智的做法是先将其过滤掉。最后,您需要的命令是Terminate
,不是Delete