gpt4 book ai didi

batch-file - Windows .cmd 标准输出 - 多重重定向

转载 作者:行者123 更新时间:2023-12-04 15:43:21 26 4
gpt4 key购买 nike

给定一个 windows .cmd 文件 abc.cmd

abc.cmd > output.log

上述命令行操作会将执行的输出保存到output.log文件。

是否有运行此命令的选项以创建此日志的多个副本。也就是说,我想在一个位置创建一个副本,在另一个位置创建另一个副本。

请不要要求我运行复制命令。我正在寻找命令行“选项”。

最佳答案

unix tee 命令的任何 Windows 实现都可以完美运行。那里有免费的选择。我喜欢使用 GNU utilities for Windows ,其中包括 tee.exe。

用法很简单:

abc.cmd | tee out1.txt >out2.txt

或者,您可以使用 Windows 脚本宿主 (WSH) 编写您自己的 tee 实现 - 无需下载 exe! triggeradeadcat attempted to do so ,但该实现存在缺陷,因为它使用基于行的输入/输出而不是基于字符的输入/输出。如果命令在同一行上有交互式提示和响应,则效果不佳。

下面是我在许多项目中使用过的方便的 JScript 实现。我使用混合 JScript/批处理技术,以便可以直接调用该实用程序而无需指定 CSCRIPT。

@if (@X)==(@Y) @end /* Harmless hybrid line that begins a JScript comment

::--- Batch section within JScript comment that calls the internal JScript ----
@echo off
cscript //E:JScript //nologo "%~f0" %*
exit /b

----- End of JScript comment, beginning of normal JScript ------------------*/
var fso = new ActiveXObject("Scripting.FileSystemObject");
var mode=2;
if (WScript.Arguments.Count()==2) {mode=8;}
var out = fso.OpenTextFile(WScript.Arguments(0),mode,true);
var chr;
while( !WScript.StdIn.AtEndOfStream ) {
chr=WScript.StdIn.Read(1);
WScript.StdOut.Write(chr);
out.Write(chr);
}

同样,用法很简单:

abc.cmd | tee out1.txt >out2.txt

关于batch-file - Windows .cmd 标准输出 - 多重重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26555251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com