本文介绍了将命令结果保存在Windows批处理变量中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to write a batch script that saves the result of a command in a variable. so I can use it later.

例如,我正在尝试在脚本上运行此命令:sc queryex服务" |找到/i"pid"

For example I am tryin to run this on the script:sc queryex "Service" |find /i "pid"

但是我想将此结果保存到变量中.

but I want to save this result in a variable.

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的方法:

here's how to get only the 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,从理论上讲它应该使它更快.

the second does not use additional FIND which in theory should make it faster.

这篇关于将命令结果保存在Windows批处理变量中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-25 11:38