командная строка автоматическая запись в файл журнала - PullRequest
0 голосов
/ 03 марта 2019

У меня есть вопрос здесь.
К примеру, у меня есть этот bat-файл с именем very_good02.bat
, который при запуске показывает некоторую информацию о ходе выполнения в командной строке.

Я хочу автоматически записать файл журнала, который состоит из всей этой информации о прогрессе, с именем файла, которое я набрал (очень_good02).

Я попытался запустить его так: very_good02.bat > very_good02log.txt
процесс работает в фоновом режиме, где я не вижу их в командной строке.

Есть идеи?
Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Если я правильно понимаю, то, что вы ищете, это способ «передать» конвейер как на консоль, так и на файл журнала.

Команда tee долгое время работала в UNIX / Linuxвремя.Нет такой вещи в Windows cmd.exe.Но PowerShell имеет Tee-Object.В командной строке PowerShell используйте help Tee-Object -full для получения дополнительной информации.

powershell -NoLogo -NoProfile "& .\very_good02.bat | Tee-Object -FilePath 'C:\src\t\very_good02.log'"

Естественно, это проще, если весь сценарий написан на PowerShell, а не на языке сценариев cmd.Вам не нужно использовать PowerShell, но это четко заявленное направление от Microsoft.

Мне напомнили, что это можно сделать в скрипте cmd .bat file.Не легко, но это можно сделать.https://www.dostips.com/forum/viewtopic.php?p=32615#p32615 Если кто-то может сделать это с помощью сценария .bat, то мистер Бенхэм может.

0 голосов
/ 03 марта 2019

Извините, у меня недостаточно представителей, чтобы комментировать, поэтому мне придется ответить.Ссылка в моем первом комментарии отвечает на ваш вопрос, даже несмотря на то, что OP запрашивает перенаправление вывода команды DIR на консоль и файл.

Я думаю, вы хотите того же.Короткий ответ НЕТ ... Не без некоторых уловок и не в чистом сценарии BATCH.Ниже приведен раздел по ссылке:

No, you can't with pure redirection.
But with some tricks (like tee.bat) you can.

I try to explain the redirection a bit.

You redirect one of the ten streams with > file or < file
It is unimportant, if the redirection is before or after the command, so these two lines are nearly the same.
...