我的意思是像这样使用它:
echo some data | this-tool-m-searching-for -vn myvariable
或者
time | this-tool-m-searching-for -vn current_time
ETC..
进而
echo %myvariable%
会产生some data
等等...
这不仅仅与回声或时间有关,我指的是任何将输出到标准输出的程序。
答案1
我认为这是通常的构造:
for /F %i in ('time /t') do set current_time=%i
(通常,在命令脚本中百分号需要加倍。)
另一种结构,尽管不太好理解:
time /t > tempfile.txt
set /p current_time= < tempfile.txt
似乎没有办法避免使用临时文件;如果使用管道,set 命令将在子进程中发生。(在某些情况下,您可能能够将输出通过管道传输到批处理脚本的第二个副本,但这种事情很快就会变得很糟糕。)
额外的
为了扩展我的最后一点,为了回答评论中的一个问题,这里有一个示例批处理文件,它将输出传送到其自身的新实例中:
if "%1" NEQ "" @goto %1
:step1
time /t | %0 step2
goto :eof
:step2
set /p current_time=
echo %current_time%
rem processing here...
我认为该解决方案不适用于更复杂的批处理脚本。
答案2
尝试导出工具,它似乎正是您想要的。