我有一些工具可以将一些数据直接输出到控制台输出。
我想将此输出保存到某个变量,然后将其传递到其他地方......
有可能吗?
示例:
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%
答案 0 :(得分:5)
你可以试试这个
for /f %%a in ('GetString myfile.txt') do call MyApp %%a
虽然我不确定你对String1
位的意思,如果这不对,你能澄清一下吗?
答案 1 :(得分:3)
一般来说,我会建议遵循@Balic C的答案,因为它没有临时文件。然而,当命令或参数或两者都包含空格并且您需要处理正确的引用时,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%"