Перенаправление команды CMD (каналы) в ярлыке / ссылке на Windows 7?
Я хотел бы запустить скрипт Python 3 в автоматическом режиме при запуске системы с помощью ярлыка / ссылки (.lnk) в автозапуске.
Pythonw.exe Python будет запускаться как процесс без окон с моим сценарием, только если куда-то отправляет stdout и stderr, например pythonw script.pyw >nul 2>&1
, Это работает от CMD.
Он не работает, если указан как ссылка на Windows. Это автоматически расширяется до c:\Python34\pythonw.exe script.pyw >nul 2>&1
, Двойные кавычки вокруг команды удаляются автоматически. Процесс pythonw.exe работает только кратковременно при запуске ссылки.
1 ответ
Я получил его на работу с
C:\Windows\system32\CMD.exe /C start /B pythonw.exe script.pyw >nul 2>&1
При запуске окно CMD отображается кратко. Кажется, что операторы канала CMD не интерпретируются "механизмом" связи Windows, а скорее отправляются в программу в качестве аргументов / опций. Это решается путем фактического запуска CMD с /C для передачи команды START для запуска pythonw как отдельного процесса.
Дальнейшее чтение:
- http://ss64.com/nt/cmd.html - Запустите новую оболочку CMD и (необязательно) запустите командную / исполняемую программу.
- http://ss64.com/nt/start.html - Запустите программу, команду или пакетный скрипт (откроется в новом окне.)
- http://ss64.com/nt/syntax-redirection.html