Batch file 从运行bat脚本获取PID
嗨,我正试图找到一种方法从bat脚本中获取我自己的PID。 我发现:Batch file 从运行bat脚本获取PID,batch-file,pid,Batch File,Pid,嗨,我正试图找到一种方法从bat脚本中获取我自己的PID。 我发现: title=mycmd tasklist /v /fo csv | findstr /i "mycmd" 这将产生: "cmd.exe","15084","RDP-Tcp#5","2","2,768 K","Running","MEDIASERVER\Administrator ","0:00:00","Administrator: =mycmd" 如何将PID编号输入bat脚本中的变量 任何帮助都将不胜感激。请尝试,这样
title=mycmd
tasklist /v /fo csv | findstr /i "mycmd"
这将产生:
"cmd.exe","15084","RDP-Tcp#5","2","2,768 K","Running","MEDIASERVER\Administrator
","0:00:00","Administrator: =mycmd"
如何将PID编号输入bat脚本中的变量
任何帮助都将不胜感激。请尝试,这样您就不需要更改标题:
call getCmdPID.bat
echo %errorlevel%
要使用tasklist执行此操作,您需要循环来处理输出:
title mycmd
for /f "tokens=2 delims=," %%a in (
'tasklist /v /fo csv ^| findstr /i "mycmd"'
) do (
set "mypid=%%~a"
)
echo %mypid%
还请检查此线程:
@echo关闭
setlocal enableextensions disabledelayedexpansion
rem准备发送wmic输出的临时文件参考
对于%%t in(“%temp%\%~nx0.%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%.tmp”)执行>“%%~ft”(
rem调用wmic来检索它自己的父进程ID,即我们的cmd实例
wmic进程,其中“name='wmic.exe'和命令行类似“%%random%%random%%random%%random%%random%%
rem从生成的临时文件中读取PID
对于('type“%%~ft”')中的/f“skip=1”%%a,请设置“processID=%%a”
rem并删除临时文件
)&2>nul del/q“%%~ft”
回显%processID%