none
PowerShell: запуск и логирование скрипта из другого скрипта RRS feed

  • Вопрос

  • Здравствуйте!

    Есть скрипт second.ps1:

    Write-Host("Secondary executed!")

    Мне необходимо запустить его на выполнение из другого скрипта - main.ps1, при этом весь вывод скрипта second.ps1 необходимо перенаправить в файл.

    Исполнить скрипт second.ps1 из main.ps1 не проблема:

    . .\second.ps1

    либо

    start powershell .\second.ps1

    Каким образом отправить вывод скрипта second.ps1 в файл? При этом содержимое скрипта second.ps1 не меняя.

    Требуется конструкция типа . .\second.ps1 > file.log, но она не работает.

    Вариант . .\second.ps1 | out-file -FilePath file.log так же не работает.

    Забыл сказать - Windows XP, PowerShell 2.0
    • Изменено stakado 27 апреля 2015 г. 7:50 Дописал версии
    27 апреля 2015 г. 7:41

Ответы

Все ответы

  • Start-Transcript -Path C:\log\file.log
    . .\second.ps1
    Stop-Transcript

    27 апреля 2015 г. 7:50
    Отвечающий
  • Start-Transcript -Path C:\log\file.log
    . .\second.ps1
    Stop-Transcript

    Кажись дело пошло, но есть проблемка. Модифицировал second.ps1, теперь он выглядит так:

    Write-Host("Executed!")
    
    Write-Host("Finished.")

    В логе вместо перевода строки стоят прямоугольники. Сюда их вставить не получается, а на скриншоте видно.

    Параметра Encoding у Start-Transcript нет. Да и ещё куча ненужной мне информации выводится в лог, которую так же хотелось бы убрать.

    Есть ещё варианты?

    27 апреля 2015 г. 7:59
  • cmd /c powershell -command ".\second.ps1" > file.txt
    • Помечено в качестве ответа KazunEditor 27 апреля 2015 г. 8:14
    27 апреля 2015 г. 8:02
    Отвечающий
  • cmd /c powershell -command ".\second.ps1" > file.txt

    Чудесно! То, что нужно, спасибо!

    • Изменено stakado 27 апреля 2015 г. 8:04
    27 апреля 2015 г. 8:03