2013-05-28 76 views
4

我有這個窗口的批處理命令:批處理文件中提取字符串部分

wmic process call create "notepad.exe" | find "ProcessId" 

它返回這個字符串

(spaces) ProcessId = 13764; 

而且我需要一個變量來存儲唯一PID號(13764),怎麼樣我可不可以做?

+0

這裏是我用過同樣的東西:http://ss64.org/viewtopic.php?pid=5866#p5866 – npocmaka

回答

1
for /F "delims=" %%a in ('wmic process call create "notepad.exe" ^| find "ProcessId"') do (
    for %%b in (%%a) do set value=%%b 
) 
echo %value% 

此方法返回最後一個字在線,所以它可以通過其它的線,以字的可變數量也用於開始。

0

使用此:

​​3210
+0

這不是很可靠.PID號碼的長度可能會有所不同。與'FOR/F'或使用兩個替換。 – npocmaka

2
for /f "tokens=2 delims=;= " %%P in ('wmic process call create "notepad.exe" ^| find "ProcessId"') do echo %%P 
0
for /f "tokens=3 delims=;=" %%a in ("(spaces) ProcessId = 13764;") do set value=%%c 
echo %value% 
相關問題