1

Есть ли способ получить двойной выход из команды в командном файле? То, что мы хотим сделать, это получить выходные данные одновременно в командной строке и в текстовом файле.

мы знаем, что такие команды

ping 127.0.0.1 > block.txt

вернуть результат в текстовый файл, но нет способа показать оба, насколько я знаю

Может кто-нибудь мне помочь?

2 ответа2

2

Конечно, но не совсем: https://stackoverflow.com/questions/796476/displaying-windows-command-prompt-output-and-redirecting-it-to-a-file

Короче говоря, для некоторых команд, таких как ping, вы должны использовать это:

ping 127.0.0.1 > ping.txt & type ping.txt

И с другими вы будете делать это:

dir > dir.txt | type dir.txt

И они запустят команду, а затем выведут содержимое текстового файла в командное окно.

Но то, что они не будут делать, это показывать в реальном времени вывод команды ping или dir в окне.

Очевидно, что это большая проблема, если вы пытаетесь запустить ping -t или аналогичный, где вы ожидаете более продолжительного времени выполнения и, вероятно, хотите наблюдать за чем-то, а не просто что-то запускать и читать его краткий вывод.

Powershell может отображаться в командном окне и одновременно выводиться в текстовый файл, поэтому, если PowerShell - это опция, вы можете взломать что-нибудь вместе.

0

Как сказал @Zoredache, мы использовали команду Powershell

.\power.bat | tee out.txt | Out-Default

После этого все прошло гладко

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .