Sådan oprettes Python.exe, når du kører fra Windows Task Scheduler

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kører en .py-fil fra Windows Task Scheduler. For de fleste filer fungerer det fint som følger:



  1. Opret ny opgave i TS

  2. I TS på fanen 'Handlinger' under 'Program/script:' angives stien til python.exe (Eksempel: C: \ Users \ User \ Python.exe)

  3. I TS i afsnittet 'Tilføj argumenter' skal du tilføje stien til .py-filen i citater (Eksempel: 'C: \ Path \ To \ Py \ pythonfiletorun.py')



Når dette virker korrekt, popper Python.exe op i et split sekund, kører programmet og forsvinder.


Jeg har dog en .py-fil, der ikke fungerer. Når jeg forsøger at køre den fra QT Console, virker det fint. Når jeg bruger TS-processen, fejler det. Og Python.exe lukker så hurtigt jeg kan ikke se hvad er forkert.


Jeg forsøgte at konvertere alt til en batchfil, så 'Program/script' bliver 'cmd' og 'Add arguments' bliver:/k 'C: \ Path \ To \ batchfile.bat', som derefter huser stier og instruktioner.


Dette åbner en kommandoprompt (og holder den åben), men herfra åbner hovedkommandoprompten kommandoprompten python.exe, som kører og lukker lige så hurtigt.


Jeg forsøgte at placere/k på forskellige steder til ingen nytte.


Jeg forsøgte også at sætte en inputkvalifikator i slutningen af ​​.py scriptet (Ex: input ('Tryk på en vilkårlig tast til ...') i håb, der ville få kommandoen Python.exe til at forblive åben, men det gør det ikke.


I sidste ende behøver jeg kommandoen Python.exe at være åben for at se, hvad der er galt.

Bedste reference


Ok, så arbejdsmåden nedenfor fungerede (takket være alt for deres input).


Opret først en batchfil, der siger:


start C:UsersPathToPython.exe C:UsersPathToPyFileToRun.py 


Gå til, hvor dette er gemt og dobbeltklik for at sikre det virker. Når dette virker, genoptages det med '-i' mellem Python.exe-stien og .py-filbanen som sådan:


start C:UsersPathToPython.exe -i C:UsersPathToPyFileToRun.py 


Gå nu til TS og i 'Program/script' indsæt:


C:UsersPathToBatchFile.bat


Forlad feltet 'Argumenter' i TS blank.


Kør nu TS-opgaven, og den skal løbe og lade Python.exe være åben, så du kan undersøge problemerne.


Tak igen alle