Batch Dateiname übergeben

breakstuff83
Goto Top
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?

Content-Key: 3142566718

Url: https://administrator.de/contentid/3142566718

Ausgedruckt am: 01.07.2022 um 20:07 Uhr

Mitglied: SachsenHessi
SachsenHessi 22.06.2022 um 11:52:27 Uhr
Goto Top
reicht nicht einfach schon die Dateiendung (xyz) einem Programm "zuzuweisen" ?
SH
Mitglied: TK1987
Lösung TK1987 22.06.2022 aktualisiert um 11:56:47 Uhr
Goto Top
Moin,

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.

Gruß Thomas
Mitglied: Breakstuff83
Breakstuff83 22.06.2022 um 12:11:59 Uhr
Goto Top
Ja stimmt, Parameter ist in der Tat schon übergeben.
Es reich einfach "%~f1"

Danke für die Hilfe
Mitglied: TK1987
TK1987 22.06.2022 aktualisiert um 16:23:04 Uhr
Goto Top
Moin,

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:
Zitat von @Breakstuff83
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:

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