将命令的结果保存在变量中,Windows批处理
问题描述:
我正在尝试编写一个批处理脚本,将命令的结果保存在变量中。所以我可以稍后使用它。将命令的结果保存在变量中,Windows批处理
例如,我试着在脚本运行此: SC queryex“服务” |找到/我“PID”
,但我想这个结果保存在变量。
set PIDRS=sc queryex "Themes" |find /i "pid"
ECHO "%PIDRS%
任何想法?
答
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这在理论上应该使其更快。
看看这里... http://ss64.com/nt/for_cmd.html –
http://stackoverflow.com/questions/108439/how-do-i-get-the-result-在一个可变窗口中的命令 – npocmaka