1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

8.3-Pfadangaben aus Übergaben wie %1 %L erfassen?

Discussion in 'Windows XP / Server 2003/2008 / Vista' started by Eric March, Oct 14, 2007.

Thread Status:
Not open for further replies.
  1. Eric March

    Eric March CD-R 80

    Moinsen!

    Ich hätte eine kleine Bastelaufgabe: Ein älteres Tool hat die Macke, ausschließlich die 8.3-Schreibweise zu akzeptieren.
    C:\PROGRA~1\WERKZEUG\MEINET~1.TXT geht gut, die normale Darstellung, auch in Anführungszeichen, "C:\PROGRAMME\WERKZEUG\MEINE TESTDATEI.TXT" dagegen kann nicht verdaut werden.

    Ich möchte per Kontextmenü und damit über die Registry dem Tool die selektierte Datei übergeben. Wie bekomme ich die Rückgabe aus der Registry in die 8.3-Schreibweise?

    Ein bisschen habe ich schon gebastelt; DIR mit dem Schalter /X liefert mir den 8.3-Namen. Nur kriege ich den DIR-Output nicht in eine Batchdatei als Befehlszeile die ich mir als eine Krücke gedacht habe - diese würde ausgelöst und ruft ihrerseits das Tool auf.

    Gibt es irgendwelche Parameter innerhalb der Registry-Syntax die mir geeignete Rückgaben liefern (vgl. %1 oder %L) oder einen anderen Weg die alte 8.3-Schreibweise hervorzuzaubern?
     
  2. Hascheff

    Hascheff Moderator

    Aus Win 3.1-Zeiten erinnere ich mich, dass es nicht nur mit > möglich ist, ein Echo in eine Datei zu leiten, sondern auch umgekehrt möglich ist, mit < das Ergebnis einer Operation einem Befehl zuzuführen. Vielleicht kannst damit dein Problem lösen.

    Wenn nicht:

    Code:
    Echo [dein Programm] > Temp.bat
    DIR /X "C:\PROGRAMME\WERKZEUG\MEINE TESTDATEI.TXT" >> Temp.bat
    Temp.bat
    So funktioniert es noch nicht, aber so ungefähr macht es die PC-Welt hin und wieder mal in ihren Praxis-Tipps vor.

    Oder hab ich dich falsch verstanden?
     
  3. Michi0815

    Michi0815 Guest

    dir hilft in dem fall nicht, weil nur der dateiname aber nicht der kompette pfad umgewandelt wird.
    probier mal das hier:
    anwendung: long2short "C:\pfad\zur\Anwendung.exe" "D:\langer\dateiname.exe"
     
  4. Eric March

    Eric March CD-R 80

    Ich habe von blubb@uni.de eine genial einfache Lösung bekommen:
    %~s1

    Das gibt in der Tat den 8.3-Namen zurück was ich eben in der Registry probiert habe und - naja; ich musste schon mit START und diversen Sysntax-Varianten zirkeln weilzum Bleistift sogar die Öffnen-Mit-Box aufgepoppt ist (wofür sich mir jegliche Erklärung entzieht!)
    Optimal gelöst ist es schlussendlich für meine Luxus-Ansprüche nicht.

    @Hascheff
    Wie angedeutet - DIR hilft, nur bekomme ich den Output nicht in eine daraus aufzubauende Befehlszeile!

    @Michi0815
    Deine Syntax fällt letztlich auf das o.g. %~s1 zusammen.

    Frage:
    Wo steht dieses ~s beschreiben? Auf welchem Auge habe ich denn bloß die Tomate???

    Aus der Hilfe von SET kenne ich die Tilde, aber was mit s ist mir da nicht aufgefallen..?!?
     
  5. Eric March

    Eric March CD-R 80

    Die Frage hat unterdessen eine Antwort gefunden: in der Hilfe zu FOR steht es beschreiben. (Damit habe ich Michi0815 ungewollt UNrecht getan.)

    Jedenfalls… Super. Toll. Faszinierend. Wirklich echt hilfreich diese sog. Hilfe [F1] • HELP • /? :böse:
     
Thread Status:
Not open for further replies.

Share This Page