Batch Explorer Datei-Kontextmenü erweitern: *.bat starten mit Pfad Übergabe

Lukas_1000

Newbie
Registriert
Jan. 2018
Beiträge
4
Hallo

Ich habe eine *.bat Datei geschrieben, auf welche per drag&drop eine Datei (*.cdf) gezogen werden kann.
Die *.bat verarbeitet dann diese Datei.

Nun habe ich versucht diesen Befehl in das Explorer Kontextmenü einzutragen: Rechtsklick auf Datei -> xxx_open
Das Script startet zwar, leider funktioniert die Pfad-Übergabe bei mir nicht.

C:\xxx_open.bat
echo %~f1
pause

reg file:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.cdf\shell\xxx_open\]
[HKEY_CLASSES_ROOT\.cdf\shell\xxx_open\command]
@="C:\\xxx_open.bat"

Windows 7

Mit Drag & Drop funktionierts, mit Kontextmenü Aufruf bleibt %~f1 leider leer.

Bin Dankbar für alle Tipps

lg Lukas
 
C:\\Program Files\\Something\\something.exe %1

Be sure to use the double backslashes and end the path with %1. The %1 passes the selected file name to the program.
Für das Command in der registry.

Hilft das?
 
Naja, dein Eintrag fürs Kontextmenü gibt keinen Parameter mit. Drag&Drop liefert den Pfad mit.
Wie man den Parameter mitgibt - keine Ahnung.

//e: Siehe oben. %1 dürfte helfen.
 
Vielen Dank, dieser Hinweis ist wirklich gut :-)
Leider wird bei mir nur der Ordner und nicht der Dateiname mit übertragen.

Edit:
Scheinbar funktioniert das nicht mit Datein welche auf einem Netzwerk-Laufwerk liegen.
liegt die C:\xxx.cdf lokal, funktioniert das Script
 
Zuletzt bearbeitet:
Mach mal aus deinem : "...@="C:\\xxx_open.bat" in der Registry ein "...@="C:\\xxx_open.bat %1"

Dann solltest du in der Batchdatei mit der Variable "%1" den Pfad haben.
 
Scheint so, als ob Sonderzeichen im Verzeichnisnamen Probleme bereiten.
Ohne Sonderzeichen funktioniert der Scriptaufruf

Edit: Nicht die Sonderzeichen, sonder nur Leerzeichen machen Probleme.
Der Pfad wird beim Leerzeichen abgeschnitten.
Notfalls eliminiere ich alle Leerzeichen, die sind mir eh ein Dorn im Auge :-)
 
Zuletzt bearbeitet:
Lösung:
%1 in Anführungszeichen setzten

@="C:\\xxx_open.bat "%1""

Vielen Dank für die rasche Hilfe :-)
 
Zurück
Oben