我有一些工具可以将一些数据直接输出到控制台输出。
我想将此输出保存到某个变量,然后将其传递到其他地方...
有可能吗?
例子:
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%
我有一些工具可以将一些数据直接输出到控制台输出。
我想将此输出保存到某个变量,然后将其传递到其他地方...
有可能吗?
例子:
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%
你可以试试这个
for /f %%a in ('GetString myfile.txt') do call MyApp %%a
虽然我不太确定你的意思是什么String1
,但如果这不正确,你能澄清一下吗?
一般来说,我建议遵循@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%"