批处理文件提取字符串部分

时间:2013-05-28 08:44:52

标签: windows batch-file dos

我有这个窗口的批处理命令:

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

返回此字符串

(spaces)  ProcessId = 13764;

我需要在变量中只存储pid号码(13764),我该怎么办?

4 个答案:

答案 0 :(得分:2)

for /f "tokens=2 delims=;= " %%P in ('wmic process call create "notepad.exe" ^| find "ProcessId"') do echo %%P

答案 1 :(得分: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%

此方法返回行中的最后一个单词,因此它也可以在开头的可变数量的单词的其他行中使用。

答案 2 :(得分:0)

使用此:

echo %strContent:~6, -1%

答案 3 :(得分:0)

for /f  "tokens=3 delims=;=" %%a in ("(spaces)  ProcessId = 13764;") do set value=%%c
echo %value%