将命令的结果保存在变量Windows批处理中

时间:2015-10-19 13:32:59

标签: windows batch-file set

我正在尝试编写一个将命令结果保存在变量中的批处理脚本。所以我以后可以用它。

例如,我试着在脚本上运行它: sc queryex“服务”| find / i“pid”

但我希望将此结果保存在变量中。

set PIDRS=sc queryex "Themes" |find /i "pid"
ECHO "%PIDRS%

任何想法?

1 个答案:

答案 0 :(得分:2)

for /f "tokens=* delims=" %%# in ('sc queryex "Themes" ^|find /i "pid"') do set "PIDRS=%%#"
echo %PIDRS%

这会将整行设置为PIDRS

这里是如何只获得pid:

@echo off

set "rspid="
for /f "skip=9 tokens=2 delims=:" %%# in ('sc queryex "Themes"') do (
  if not defined rspid set /a rspid=%%#
)

第二种不使用额外的FIND,理论上应该使其更快。