%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
자동 시작의 바로가기/링크(.lnk)를 사용하여 시스템 시작 시 Python 3 스크립트를 자동으로 실행하고 싶습니다.
Python의 pythonw.exe는 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 링크 "메커니즘"에 의해 해석되지 않고 인수/옵션으로 프로그램에 전송되는 것 같습니다. 이 문제는 실제로 /C와 함께 CMD를 실행하여 START 명령을 전달하여 pythonw를 별도의 프로세스로 실행함으로써 해결됩니다.
추가 자료:
- http://ss64.com/nt/cmd.html- 새 CMD 셸을 시작하고 (선택적으로) 명령/실행 프로그램을 실행합니다.
- http://ss64.com/nt/start.html- 프로그램, 명령 또는 배치 스크립트를 시작합니다(새 창에서 열림).
- http://ss64.com/nt/syntax-redirection.html