Windows

將 Windows 命令的輸出儲存在批處理文件中

  • February 14, 2018

我需要將命令行的輸出儲存在變數中。我怎樣才能做到這一點?

提供了一個簡單的批處理文件test.cmd,內容如下:

echo jscott

您可以使用以下命令行將輸出設置為變數:

FOR /F "tokens=*" %a in ('test.cmd') do SET OUTPUT=%a

像這樣在命令行上使用:

C:\>SET OUTPUT
Environment variable OUTPUT not defined
C:\>FOR /F "tokens=*" %a in ('test.cmd') do SET OUTPUT=%a
C:\>ECHO %OUTPUT%
jscott

如果您想FOR在批處理文件而不是命令行中使用 ,則需要更改%a%%a.

這就是我這樣做的方式:

vol c: > result.txt
set /p DATA=<result.txt
echo %DATA%
del result.txt

如果 result.txt 多於 1 行,則僅文件的頂行用於 %DATA%。您也可以將 result.txt 本身變成一個變數,例如 %OUTPUT%。

引用自:https://serverfault.com/questions/245679