将多个命令的结果存储在单个文件中

时间:2013-05-23 06:24:55

标签: windows command-line scripting batch-file

我有一个包含两个命令的批处理文件,如下所示。

  ping google.com > C:\Test\logfile.txt
  ping yahoo.com > C:\Test\logfile.txt

当我运行它时(在Windows XP中),只有最后一个命令的结果存储在文件中。

问题

  1. 我们如何制作存储结果的命令?
  2. 我们可以在一个地方指定文件名,以便所有命令都将结果存储在该文件中吗?
  3. 参考:

    1. how to direct output into a txt file in bat script in windows

3 个答案:

答案 0 :(得分:4)

当只使用一个>时,将覆盖文件的内容。但是,当你使用两个时,它会附加它。

示例:

ping google.com >> C:\Test\logfile.txt
ping yahoo.com >> C:\Test\logfile.txt

会存储两个命令的输出。

答案 1 :(得分:3)

而不是使用: -

ping google.com > C:\Test\logfile.txt
ping yahoo.com > C:\Test\logfile.txt

使用: -

echo ping google.com >> C:\Test\logfile.txt
echo ping yahoo.com >> C:\Test\logfile.txt

这将解决您的第一个问题(两个命令结果都将被存储)。

答案 2 :(得分:3)

试试这个:

@echo off&setlocal
set "logfile=C:\Test\logfile.txt"
(
ping google.com 
ping yahoo.com
)>"%logfile%"            
type "%logfile%"