如何通过tasklist命令提取Windows指定服务对应的进程PID数值
仅提取服务对应PID的实现方案
你已经完成了输出格式的优化,接下来只需要用for /f解析CSV输出的第二列即可,分两种使用场景:
1. 直接在CMD命令行执行
for /f "tokens=2 delims=," %a in ('tasklist /svc /fi "SERVICES eq .Service02" /FO csv /NH') do @echo %~a
执行后会直接输出纯PID数值,无任何多余内容。
2. 写入批处理(.bat/.cmd)文件中使用
需要把变量前的%替换为%%:
for /f "tokens=2 delims=," %%a in ('tasklist /svc /fi "SERVICES eq .Service02" /FO csv /NH') do @echo %%~a
参数说明
tokens=2:指定取CSV分割后的第二列内容,也就是PID所在列delims=,:指定逗号作为CSV内容的分割符%~a/%%~a:自动去除变量两侧的双引号,得到纯数字的PID- 命令前加
@:避免打印命令本身,只输出PID结果
内容的提问来源于stack exchange,提问作者Raul Chiarella
相关产品推荐
相关产品推荐

