首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >回显到批处理脚本中的多个文件

回显到批处理脚本中的多个文件
EN

Stack Overflow用户
提问于 2011-10-04 22:49:34
回答 4查看 6.3K关注 0票数 2

如何在单个命令中将一行回显到多个文件中?示例:echo Hello World!到file1.log和file2.log

编辑: Windows-XP批处理脚本

挑战:给我一行=D。如果不能用一行完成,我就不感兴趣了。

我的解决方案是

代码语言:javascript
复制
ECHO Hello World!>tmp.log & COPY file1.log + tmp.log & COPY file2.log + tmp.log

但我希望是一个单一的命令,而不是多个命令。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-04 23:07:56

如果你只需要单行输入,你可以用batch编写你自己的tee。

代码语言:javascript
复制
@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相同

代码语言:javascript
复制
echo hello | ( cmd /v:on /c "set /p var=& >> file1.log echo !var!& >> file2.log echo !var!")

cmd /v:on /c是启用延迟扩展所必需的

票数 4
EN

Stack Overflow用户

发布于 2011-10-04 22:54:26

代码语言:javascript
复制
echo "Hello World" | tee file1.log file2.log
票数 3
EN

Stack Overflow用户

发布于 2011-10-05 18:20:54

您可以执行类似于jeb的操作,但将其保存在与调用代码相同的批处理文件中

代码语言:javascript
复制
@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 :eof
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7649769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档