CMD控制台输出到可变(cmd console output to variable)

2019-09-27 01:18发布

我有一些工具,它是一些数据直接输出到控制台输出。

我要救这个输出一些变量,然后将它传递别的地方...

是否有可能呢?

例:

rem this outputs String1 values from myfile.txt
GetString myfile.txt String1
rem I want this value for example in %p% variable, and then:
call MyApp %p%

Answer 1:

你可以试试这个

for /f %%a in ('GetString myfile.txt') do call MyApp %%a

虽然我真的不知道你是什么意思对String1位,如果这是不对的,你能澄清?



Answer 2:

一般来说,我会建议遵循@Balic C'S答案,因为它的工作原理没有临时文件。 尽管如此, for命令有它的问题(或者至少是很难得到正确的),当命令或参数,或两者包含空格,你需要处理适当引用。

在这种情况下,你也可以在工具的输出存储在一个临时文件,然后用它读入一个变量set /P

set temp_file=%TEMP%\%~n0.tmp
GetString myfile.txt > "%temp_file%"
set /P p=<"%temp_file%"

call MyApp %p%

del /F "%temp_file%" 


文章来源: cmd console output to variable