首页 > 解决方案 > BATCH:寻找“线程”命令并将输出捕获到 txt

问题描述

n00b 在这里。我正在创建一个简单的批处理文件,需要以下内容:

我有大约 15 个命令需要“线程化”。运行一个简单的批处理文件迫使我在执行每个命令后等待开始下一个命令。所以我的研究把我带到了“START”命令。这可行,但是为每个命令创建的新窗口消失了,所以研究然后引导我到“CALL”,它在每个窗口执行后保持打开状态,这样我就可以监控输出。接下来我需要将每个窗口输出到一个日志文件。

我似乎无法捕获此信息。我尝试过的一切都会产生一个空的 txt 文件,尽管它确实会创建文件本身。

例子。

ECHO Starting up processes  
start "Process 1" call ping www.google.com > Googleresults.txt  
start "Process 2" call ping www.apple.com > Appleresults.txt

有任何想法吗?非常感激!

标签: batch-file

解决方案


这也将是使用 powershell 的最简单的内置方法。

ping google.com>Googleresults.txt | start "process 1" powershell Get-Content Googleresults.txt -Wait -Tail 10 | ping apple.com>Appleresults.txt | start "process 2" powershell Get-Content Appleresults.txt -Wait -Tail 10
taskkill /FI "WINDOWTITLE eq process*">nul

您需要用管道分隔每个命令以|异步启动它们,它会重定向到文件,我们几乎可以启动新窗口并使用 powershell 跟踪文件。


推荐阅读