将命令保存到变量中

时间:2014-01-16 05:34:29

标签: variables

我对这些变量有疑问。如何将命令的结果存储到变量中?例如:将驱动器序列保存到位置变量中。 谢谢。 E.g:

  

@ECHO OFF

     

SET location = vol

     

ECHO我们正在使用%location%

3 个答案:

答案 0 :(得分:0)

for /f "delims=" %%x in ('your command and parameters') do set "var=%%x"

在您希望保存输出的命令周围需要'single quotes'


编辑 - 现在我们知道哪个命令。

注释 - 一个变量最多可包含约8,000个字符。

这是一个例程,它将$ 1 ... $中的值设置为$ all中的整个集合,每个字段都包含在尖括号中。

@ECHO OFF
SETLOCAL
SET "$all="
FOR /f "tokens=1*delims=:" %%a IN (
  'systeminfo 2^>nul^|findstr /n /r "$"'
  ) DO (
 SET "$%%a=%%b"
 FOR /f "tokens=*" %%c IN ("%%b") DO CALL SET "$all=%%$all%%<%%c>"
 SET /a max=%%a
)

SET $
pause
FOR /l %%z IN (1,1,%max%) DO CALL ECHO %%$%%z%%

GOTO :EOF

答案 1 :(得分:0)

谢谢...请参阅我的批处理文件内容:

for /f "delims=" %%x in ('systeminfo') do set "var=%%x"

command_line.exe %var%

只有'systeminfo'的最后一行保存在var变量中,它是: “数据执行预防可用:是”

我想将systeminfo的所有内容存储到变量中!

答案 2 :(得分:0)

谢谢。我太基本了 你的意思是systeminfo的结果是所有变量?在代码的末尾,我可以添加以下命令:

start command_line.exe $%all%

这是真的吗?

你能为我的批处理文件填写完整的代码吗?