Перенаправить вывод, обработанный через vbscript (cscript), в файл

Проблема с выводом команды:

Я пытаюсь получить непрерывный отчет о проверке связи с текстовым файлом.

Начал с:

ping 127.0.0.1 -t >> C:Textping.txt

Работает отлично

Я также хочу, чтобы перед каждым пингом отображались временные метки.

Так Написал:

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?


person user2387022    schedule 15.05.2013    source источник


Ответы (1)


Вы запускаете его с помощью cscript и записываете вывод в STDERR (используя WScript.StdErr.WriteLine). Итак, вы можете использовать:

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

> обозначает STDOUT, 2> обозначает STDERR.

person Anirudh Ramanathan    schedule 15.05.2013