Redirecionamento do comando CMD (pipes) no atalho / link no Windows 7?

1

Gostaria de executar um script do Python 3 silenciosamente no início do sistema usando um atalho / link (.lnk) no Autostart.

pythonw.exe do Python será executado como processo sem janelas com o meu script somente se a stdout e o stderr estiverem em algum lugar, por exemplo, %código%. Isso funciona do CMD.

Ele não funciona quando fornecido como destino de link do Windows. Isso é expandido automaticamente para pythonw script.pyw >nul 2>&1 . Marcas duplas ao redor do comando são removidas automaticamente. O processo pythonw.exe só é executado rapidamente ao executar o link.

    
por handle 16.06.2016 / 10:49

1 resposta

2

Eu tenho que trabalhar com

C:\Windows\system32\CMD.exe /C start /B pythonw.exe script.pyw >nul 2>&1

Quando executado, a janela do CMD é mostrada brevemente. Parece que os operadores de pipe CMD não são interpretados pelo "mecanismo" de link do Windows, mas sim enviados ao programa como argumentos / opções. Isso é resolvido com a execução do CMD com / C para passar o comando START para executar o pythonw como um processo separado.

Leitura adicional:

  • link - Inicie um novo shell CMD e (opcionalmente) execute um comando / programa executável.
  • link - Iniciar um script de programa, comando ou lote (abre em uma nova janela.)
  • link
por 16.06.2016 / 10:49