我正在写一个批处理文件来杀死给定进程ID的所有依赖进程。我还没有完成我的代码。现在我的代码是
set cmd="wmic process where (ParentProcessId=4192) get ProcessId"
FOR /F %%i IN (' %cmd% ') DO (
SET X=%%i
echo The process is %X%
)
" wmic进程的输出,其中(ParentProcessId = 4192)得到ProcessId"命令是:
ProcessID
3516
<blank space>
批量设置X = ProcessID,3516和空格。 问题1:对于上面的代码,它没有显示X的值(在echo中)。 问题2:我想要那些是整数
的%% i答案 0 :(得分:0)
你可以尝试这样的事情:
@echo off
set cmd="wmic process where (ProcessId=4192) get ParentProcessId"
Setlocal EnableDelayedExpansion
FOR /F "skip=1 delims=" %%i IN ('%cmd%') DO (
SET X=%%i
echo The process is !X!
)
pause
echo The process is %X%
EndLocal
pause
为什么你不使用Taskkill
命令和param /T
来终止指定的进程和由它启动的任何子进程?