Strings in batch datei editieren



  • Hallo Freunde!
    Ich bin gerade wieder an einem Punkt angelangt wo ich ohne Hilfe nicht wirklich vorran komme!
    Folgendes Problem:
    Ich habe ein Batch-Programm geschrieben(winxp64) welches alle Dateinamen mit einer bestimmten extension im aktuellen Verzeichniss in unterschiedliche textdateien Schreibt: Hier Ein Teil meines Codes:

    SET add_rar_treating_file=1
    For /R %%G IN (*.png) DO (call :TEST1 "%%G")
    ...
    :TEST1
    if (.....)
    echo %1 > datei.txt
    ...
    

    Die Dateinamen werden allerdings in folgendem Format ausgedrückt:

    "D:\Ordner\Ordner\DateiX.png"

    Ich möchte aber das in meiner text-datei nur der dateiname steht:

    DateiX.png

    Kann mir da jemand einen kleinen Tipp geben?
    die ordnerstruktur ist immer identisch!

    Danke für eure Hilfe!

    Gruß
    Lin



  • Hallo,

    dafür gibt es "Parameter", die man vor den "Variablennamen" setzen kann, in diesem Falle "~nx":

    SET add_rar_treating_file=1
    For /R %%G IN (*.png) DO (call :TEST1 "%%G")
    ...
    :TEST1
    if (.....)
    echo %~nx1 > datei.txt
    ...
    

    zu finden hier:

    http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx?mfr=true

    oder einfach

    help for

    in der Eingabeaufforderung eingeben.

    MfG,

    Probe-Nutzer



  • Nimm doch einfach

    dir /b /s *.xyz > out.txt
    

    🙂


Anmelden zum Antworten