将通过vbscript(cscript)处理的输出重定向到文件

时间:2013-05-15 18:17:55

标签: vbscript command timestamp ping wsh

命令输出问题:

我正在尝试将连续的ping报告恢复为文本文件。

开始于:

ping 127.0.0.1 -t >> C:Textping.txt

效果很好

我还希望在每次ping之前列出时间戳

所以写道:

Dim str
Do While Not WScript.StdIn.AtEndOfStream
  str = WScript.StdIn.ReadLine
  WScript.StdErr.WriteLine now & " - " & str
Loop

在桌面上将其保存为timestampLog.vbs,并将副本删除到我的系统32文件夹中。

将所有这些放入批处理文件中:

ping 127.0.0.1 -t | cscript //nologo timestamplog.vbs >> C:Pingtest1.txt

除了输出打印到命令提示符和批处理文件创建的Pingtest1.txt为空之外,它的工作正常。

有人可以帮我把输出发送到Pingtest1.txt吗?

1 个答案:

答案 0 :(得分:4)

您正在使用cscript运行它,并将输出写入 STDERR (使用WScript.StdErr.WriteLine)。所以你可以使用:

ping 127.0.0.1 -t | cscript //nologo timestamplog.vbs 2> C:/Pingtest1.txt
                                                      ^^

>表示 STDOUT 2>表示 STDERR