Batch Dateiname übergeben
Ausgangssituation:
Datei.xyz soll bei Doppelklick mit Programm.exe und Parameter -Einstellungen gestartet werden.
Was ich bisher gemacht habe:
Alle Dateitypen .xyz per "Windows öffnen mit" auf eine Batch Datei umgestellt. Das funktioniert inkl. Parameter.
Was mir jetzt noch fehlt ist eine Variable mit dem Dateiname und Speicherort der Datei.xyz.
Gibt es eine Möglichkeit den Namen zu übergeben?
Datei.xyz liegt irgendwo auf einem Netzlaufwerk. Im Ordner liegen auch noch andere Datei mit der Endung .xyz Daher muss der Dateiname mit übergeben werden
Vielen Dank für die Hilfe.
EDIT:
Mit [%cmdcmdline%] bekommen ich den Pfad und Dateinamen wie folgt:
[C:\WINDOWS\system32\cmd.exe /c ""C:\Users\TEST\Desktop\Run_ReMeasure.bat" "C:\TESTPFAD\DRUCK.xyz""]
Wie komme ich am besten an den letzten Teil?
Datei.xyz soll bei Doppelklick mit Programm.exe und Parameter -Einstellungen gestartet werden.
Was ich bisher gemacht habe:
Alle Dateitypen .xyz per "Windows öffnen mit" auf eine Batch Datei umgestellt. Das funktioniert inkl. Parameter.
Was mir jetzt noch fehlt ist eine Variable mit dem Dateiname und Speicherort der Datei.xyz.
Gibt es eine Möglichkeit den Namen zu übergeben?
Datei.xyz liegt irgendwo auf einem Netzlaufwerk. Im Ordner liegen auch noch andere Datei mit der Endung .xyz Daher muss der Dateiname mit übergeben werden
Vielen Dank für die Hilfe.
EDIT:
Mit [%cmdcmdline%] bekommen ich den Pfad und Dateinamen wie folgt:
[C:\WINDOWS\system32\cmd.exe /c ""C:\Users\TEST\Desktop\Run_ReMeasure.bat" "C:\TESTPFAD\DRUCK.xyz""]
Wie komme ich am besten an den letzten Teil?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3142566718
Url: https://administrator.de/forum/batch-dateiname-uebergeben-3142566718.html
Ausgedruckt am: 13.04.2025 um 08:04 Uhr
4 Kommentare
Neuester Kommentar
Moin,
Gruß Thomas
Zitat von @Breakstuff83:
Was ich bisher gemacht habe:
Alle Dateitypen .xyz per "Windows öffnen mit" auf eine Batch Datei umgestellt. Das funktioniert inkl. Parameter.
dann hast du den Dateinamen bereits an das Skript übergeben - dieser ist über die Variable %1 (da erstes übergebenes Argument) zu erreichen. Natürlich funktioniert die Pfadmanipulation wie bei einer For-Schleife ebenfalls, also z.B. %~nx1 um nur Dateinamen+Erweiterung anzuzeigen usw.Was ich bisher gemacht habe:
Alle Dateitypen .xyz per "Windows öffnen mit" auf eine Batch Datei umgestellt. Das funktioniert inkl. Parameter.
Gruß Thomas
Moin,
Um das zu erreichen, müsste unter dem Registry-Key "HKCU\SOFTWARE\Classes\xyz_auto_file\shell\open\command" der Standardwert wie folgt abgeändert werden:
Das hätte dann allerdings den Vorteil, dass direkt das gewünschte Programm gestartet wird und nicht erst noch das CMD-Fenster kurz aufploppt.
Gruß Thomas
Zitat von @SachsenHessi:
reicht nicht einfach schon die Dateiendung (xyz) einem Programm "zuzuweisen" ?
jein. Damit übergibst du dem Programm zwar den Dateipfad, allerdings nicht den gewünschten Paramter:reicht nicht einfach schon die Dateiendung (xyz) einem Programm "zuzuweisen" ?
Zitat von @Breakstuff83
Datei.xyz soll bei Doppelklick mit Programm.exe und Parameter -Einstellungen gestartet werden.
Datei.xyz soll bei Doppelklick mit Programm.exe und Parameter -Einstellungen gestartet werden.
Um das zu erreichen, müsste unter dem Registry-Key "HKCU\SOFTWARE\Classes\xyz_auto_file\shell\open\command" der Standardwert wie folgt abgeändert werden:
"C:\Pfad\zum\Programm.exe" -Einstellungen "%1"
Das hätte dann allerdings den Vorteil, dass direkt das gewünschte Programm gestartet wird und nicht erst noch das CMD-Fenster kurz aufploppt.
Gruß Thomas