Сохранение вывода команды powershell в файл

Используя pyinstaller, я нашел лучший метод, используя ярлык для .exe, а не создание --onefile. В любом случае, возможно, есть некоторые файлы данных, и если вы используете приложение на основе сайта, ваша программа зависит от файлов html, js, css. Нет смысла перемещать все эти файлы где-то .. вместо этого, если мы переместим рабочий путь вверх.

Сделайте ярлык для exe, переместите его вверху и установите целевые и начальные пути, как указано, чтобы относительные пути переместились в dist \ folder: Target: %windir%\system32\cmd.exe /c start dist\web_wrapper\web_wrapper.exe Start in: "%windir%\system32\cmd.exe /c start dist\web_wrapper\" Можно переименовать ярлык на все, что переименовано в «GTFS-Manager». Теперь, когда я дважды щелкаю ярлык, это как если бы я python-запускал файл! Я нашел этот подход лучше, чем --onefile в качестве:

  1. В случае одного файла существует проблема с отсутствием .dll для win7 OS, которая требует предварительной установки и т. Д. Yawn. С обычной сборкой с несколькими файлами таких проблем нет.
  2. Все файлы, которые использует мой скрипт python (он развертывает веб-сервер торнадо и нуждается в большом количестве файлов на сайте!) Не нужно никуда перемещать: я просто создаю ярлык вверху.
  3. Я могу использовать эту ту же самую папку в ubuntu (запустите python3 myfile.py) и окна (дважды щелкните ярлык).
  4. Мне не нужно беспокоиться о чрезмерно сложном взломе файла .spec, чтобы включить файлы данных и т. д.

О, не забудьте удалить из папки сборки после здание будет экономить на размере.

-1
задан Compo 26 February 2019 в 14:53
поделиться

2 ответа

попробуйте это:

echo <your_command> > file.ps1

echo печатает все, что вы даете (в данном случае, вашу команду), на стандартный вывод (обычно консоль), а > перенаправляет строку (вашу команду) из стандартного вывода в файл file.ps1

0
ответ дан Stephan 26 February 2019 в 14:53
поделиться

Это можно записать в файл, перенаправив стандартный вывод команды ECHO.

ECHO>file.ps1 powershell send-mailmessage ^
-to "alerts@address.com" ^
-from "info@address.com" ^
-subject "Virus alert" ^
-body "Cryptolocker variant detected on $env:computername " ^
-smtp "companyname-com.mail.protection.outlook.com"

Если вы пишете в файл .ps1, зачем вам нужно запускать другой экземпляр PowerShell? Чтобы запустить скрипт PowerShell, оставьте команду powershell и просто используйте:

powershell -NoLogo -NoProfile -File file.ps1
0
ответ дан lit 26 February 2019 в 14:53
поделиться