Windows 7 上的快捷方式/链接中的 CMD 命令重定向(管道)?

Windows 7 上的快捷方式/链接中的 CMD 命令重定向(管道)?

我想在系统启动时使用自动启动中的快捷方式/链接(.lnk)静默运行 Python 3 脚本。

仅当将 stdout 和 stderr 管道传输到某处时,Python 的 pythonw.exe 才会作为无窗口进程与我的脚本一起运行,例如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 作为单独的进程运行来解决。

进一步阅读:

相关内容