1. #1
    Newbie
    Dabei seit
    Jan 2018
    Beiträge
    4

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

    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

  2. Anzeige
    Logge dich ein, um diese Anzeige nicht zu sehen.
  3. #2
    Lieutenant
    Dabei seit
    Mär 2012
    Beiträge
    779

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

    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?

  4. #3
    Commander
    Dabei seit
    Nov 2008
    Beiträge
    2.774

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

    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.
    Mein PC
    HowTo: Maustastenprobleme beheben
    Lache nicht über den, der einen Schritt zurück macht - er könnte Anlauf nehmen.

  5. #4
    Newbie
    Ersteller dieses Themas

    Dabei seit
    Jan 2018
    Beiträge
    4

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

    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
    Geändert von Lukas_1000 (03.01.2018 um 12:19 Uhr)

  6. #5
    Lt. Junior Grade
    Dabei seit
    Mär 2008
    Beiträge
    267

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

    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.

  7. #6
    Newbie
    Ersteller dieses Themas

    Dabei seit
    Jan 2018
    Beiträge
    4

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

    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 :-)
    Geändert von Lukas_1000 (03.01.2018 um 12:35 Uhr)

  8. #7
    Commander
    Dabei seit
    Mär 2008
    Beiträge
    2.139

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

    Leerzeichen halt escapen.
    Heute schon dein SICP gelesen und deine Vorlesung besucht?

    My other car is a cdr.

  9. #8
    Newbie
    Ersteller dieses Themas

    Dabei seit
    Jan 2018
    Beiträge
    4

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

    Lösung:
    %1 in Anführungszeichen setzten

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

    Vielen Dank für die rasche Hilfe :-)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Forum-Layout: Feste Breite / Flexible Breite