breakstuff83
Goto Top

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?

Content-Key: 3142566718

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

Printed on: May 7, 2024 at 11:05 o'clock

Member: SachsenHessi
SachsenHessi Jun 22, 2022 at 09:52:27 (UTC)
Goto Top
reicht nicht einfach schon die Dateiendung (xyz) einem Programm "zuzuweisen" ?
SH
Member: TK1987
Solution TK1987 Jun 22, 2022 updated at 09:56:47 (UTC)
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
Member: Breakstuff83
Breakstuff83 Jun 22, 2022 at 10:11:59 (UTC)
Goto Top
Ja stimmt, Parameter ist in der Tat schon übergeben.
Es reich einfach "%~f1"

Danke für die Hilfe
Member: TK1987
TK1987 Jun 22, 2022 updated at 14:23:04 (UTC)
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:
"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