如何在单个命令中将一行回显到多个文件中?示例:echo Hello World!到file1.log和file2.log
编辑: Windows-XP批处理脚本
挑战:给我一行=D。如果不能用一行完成,我就不感兴趣了。
我的解决方案是
ECHO Hello World!>tmp.log & COPY file1.log + tmp.log & COPY file2.log + tmp.log但我希望是一个单一的命令,而不是多个命令。
发布于 2011-10-04 23:07:56
如果你只需要单行输入,你可以用batch编写你自己的tee。
@ECHO OFF
rem *** singleLineTee destination1 destination2
setlocal EnableDelayedExpansion
set /p var=
> %1 echo(!var!
> %2 echo(!var!并将其与echo hello | singleLineTee file1.log file2.log一起使用
编辑:与one liner相同
echo hello | ( cmd /v:on /c "set /p var=& >> file1.log echo !var!& >> file2.log echo !var!")cmd /v:on /c是启用延迟扩展所必需的
发布于 2011-10-04 22:54:26
echo "Hello World" | tee file1.log file2.log发布于 2011-10-05 18:20:54
您可以执行类似于jeb的操作,但将其保存在与调用代码相同的批处理文件中
@ECHO OFF
del tem1.txt
del tem2.txt
call :SingleLineTeeSub "echo Hello" Tem1.txt Tem2.txt
call :SingleLineTeeSub "echo World" Tem1.txt Tem2.txt
call :SingleLineTeeSub "Dir tem1.txt" Tem1.txt Tem2.txt
goto :eof
:SingleLineTeeSub
rem *** call :SingleLineTeeSub "command [params]" destination1 destination2
setlocal EnableDelayedExpansion
set theCmd=%~1
>> %2 %theCmd%
>> %3 %theCmd%
goto :eofhttps://stackoverflow.com/questions/7649769
复制相似问题