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

Batchfile String auf 8.3 Format konvertieren

Discussion in 'Programmieren' started by dbf0815, Dec 11, 2007.

Thread Status:
Not open for further replies.
  1. dbf0815

    dbf0815 ROM

    Hallo Community,

    ich habe eine Batchdatei und übergebe einen Pfad als ersten Parameter an diese Datei.

    Nun meine Frage. Gibt es einen Befehl mit dem ich einen Windowspfad in einen MS-Dos 8 kompatiblen Pfad ändern kann? Das ist für einen Vergleich wichtig.

    Hier der Codeschnipsel des Vergleiches
    echo if "%1"=="" goto Usage

    gebe ich den Pfad mit Leerzeichen und komplett in Anführungszeichen an ("c:\test\ordner mit leerzeichen") so schlägt der Vergleich fehl weil auf einmal noch mitten drin zwei " auftauchen. Ohne " im Übergabeparameter wird der Pfad nur bis zum Leerzeichen erkannt.
    Gebe ich den MS-Dos Pfad an (c:\test\ORDNER~1) dann klappt es wunderbar.

    Ich will also den Pfad im Script konvertieren. Hat das schonmal jemand gemacht?

    Für schnelle Hilfe wär ich sehr dankbar :rolleyes:

    Gruß
    Andreas
     
  2. Michi0815

    Michi0815 Guest

    probier mal ob

    for %%I in (%1) do @set 1=%%~sI%
    if "%1"=="" goto Usage

    funktioniert.

    edit: das mit den " in der if abfrage ist generell keine gute idee. mach lieber einen punkt. damit sollte es auch ohne umwandlung funktionieren. also:

    if %1.==. goto Usage
     
  3. dbf0815

    dbf0815 ROM

    Das mit dem . funktioniert und ist eindeutig die beste Lösung.

    Danke für die schnelle Hilfe Michi :jump:
     
Thread Status:
Not open for further replies.

Share This Page