Seite 1 von 1

Scriptstart mit pythonw funktioniert nicht

Verfasst: Montag 8. Mai 2023, 06:50
von HeinKurz
Ich habe ein eigenartiges Phänomen mit einer .BAT-Datei für den Start eines Python Scripts.
Man beachte das nicht vorhandene bzw. vorhandene Leerzeichen im Usernamen. Und natürlich gibt es beide User, allerdings auf unterschiedlichen Rechnern.

Das funktioniert:
start c:\Users\HeinKurz\AppData\Local\Programs\Thonny\pythonw c:\Daten\Python\ZA\ZA.py

Das funktioniert NICHT:
start "c:\Users\Hein Kurz\AppData\Local\Programs\Thonny\pythonw" c:\Daten\Python\ZA\ZA.py
Hier fragt Windows, mit welchem Programm ich ZA.py öffnen will. Wenn ich aber python oder pythonw eingebe, passiert gar nichts.
Ohne start funktioniert es aber dann bleibt das Eingabeaufforderungsfenster am Bildschirm und genau das will ich nicht.

Hat jemand eine Idee?

Re: Scriptstart mit pythonw funktioniert nicht

Verfasst: Montag 8. Mai 2023, 07:08
von Sirius3
Das Problem ist, dass Deine BAT-Datei ein Eingabeaufforderungsfenster öffnet; wenn Du das nicht willst, warum benutzt Du dann eine BAT-Datei?
`start` ist dazu da, Dateien zu öffnen, die mit einem Standardprogramm verknüpft sind; wenn Du also ein pythonw-Programm ausführen möchtest, dann entweder durch Doppelklick auf eine .pyw-Datei oder falls es doch unbedingt ein aufploppendes Eingabeaufforderungsfenster sein soll, per

Code: Alles auswählen

start c:\Daten\Python\ZA\ZA.pyw

Re: Scriptstart mit pythonw funktioniert nicht

Verfasst: Montag 8. Mai 2023, 08:12
von HeinKurz
Also nur umbenennen von ZA.py auf ZA.pyw hat für die .BAT-Datei rein gar nichts gebracht.
Ich hab die Umbenennung aber nun trotzdem gemacht, dann alle .pyw Files zum Start mit pythonw.exe registriert und starte das Programm nun durch direkten Aufruf von ZY.pyw ohne .BAT-Datei.
Danke Sirius3 für den Tipp.