PowerShell может вызывать командные файлы командной строки. Выход сценария PowerShell можно записать с помощью команды «tee». Но команда тройника не записывает вывод пакетных файлов внутри сценария PowerShell для меня в PowerShell 1.PowerShell 1 не захватывает выход пакетного файла с тройником
Попробуйте это урезанный пример:
Сделать пакетный файл, называемого test.bat, с содержание
@echo hello from bat
запустить его из PowerShell:
PS C:\> .\test.bat | tee out.txt
Это работает - Вы будете иметь выходной файл, со ntaining
hello from bat
Теперь сделайте скрипт PowerShell под названием Test.ps1, который оборачивает пакетный файл, содержащий
write-output "hello from PS"
.\test.bat
Теперь запустите это с тройником:
.\test.ps1 | tee pout.txt
Это не запись выходных файлов пакета - выходной файл содержит только
hello from PS
В то время как я ожидал
hello from PS
hello from bat
Но никакой партии выхода не захватывается. Как я могу захватить вывод этого скрипта PowerShell и подчиненных пакетных файлов?
Я добавил некоторые вещи к моему ответу в конце. Почему вы создали эту вики сообщества? Разве это не препятствует людям отвечать, поскольку они не получат очков? –
Я сделал это wiki сообщества, так как в последний раз, когда я был на этом сайте, люди просили об этом - суть в том, что они могут его редактировать. Разница в точках не то, о чем я знаю, эти правила, возможно, изменились в то же время. Разве это не вторичная проблема? Это что-то, что я могу изменить? – Anthony
Мне это все равно. Мне было просто любопытно. Мое понимание заключается в том, что вики сообщества для «мнений», которые не имеют черно-белых ответов, особенно для таких вопросов, как «Какой твой любимый язык программирования», который породил бы смехотворное количество баллов. Любой вопрос может быть отредактирован, BTW, людьми с достаточными очками (2000, я думаю). –