1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

.bat - Umbenennung läuft auf Fehler

Dieses Thema im Forum "Sonstige Sprachen" wurde erstellt von wyk14591, 4. August 2017.

  1. wyk14591

    wyk14591 Grünschnabel

    Hallo Leute.
    Ich hab ein Problem
    Ich möchte jeweils in einem Ordner alle Dateien mit einem Datum davor umbenennen.
    Hierzu will/kann ich keine Software installieren sondern will/muss das mit einer Batch lösen.
    Leider läuft mein Versuch immer auf Fehler.

    @Echo off

    SET Pfad=c:\datatest

    for /F "tokens=1-4 delims=. " %%i in ("%date%") do (
    set day=%%i
    set month=%%j
    set year=%%k
    )

    FOR /F "usebackq tokens=*" %%i IN (`dir %Pfad% /A:-D /B`) DO (
    echo Alt: %Pfad%\%%i
    echo Neu: %Pfad%\%year%-%month%-%day%-%%i
    ren %Pfad%\%%i %year%-%month%-%day%-%%i)

    Ergebnis ist immer "Syntaxfehler"!?!
     
  2. Bratkartoffel

    Bratkartoffel gebratene Kartoffel Premium-User

    Hi,

    ich bin jetzt zwar kein Batch-Profi und kann das nicht testen, aber ich vermute dass die ")" am Ende der Zeile mit dem "ren" eigentlich in die nächste Zeile müsste:
    Code (Text):
    1. @Echo off
    2.  
    3. SET Pfad=c:\datatest
    4.  
    5. for /F "tokens=1-4 delims=. " %%i in ("%date%") do (
    6. set day=%%i
    7. set month=%%j
    8. set year=%%k
    9. )
    10.  
    11. FOR /F "usebackq tokens=*" %%i IN (`dir %Pfad% /A:-D /B`) DO (
    12. echo Alt: %Pfad%\%%i
    13. echo Neu: %Pfad%\%year%-%month%-%day%-%%i
    14. ren %Pfad%\%%i %year%-%month%-%day%-%%i
    15. )
    Grüsse,
    BK
     
  3. wyk14591

    wyk14591 Grünschnabel

    leider hat das auch nichts geholfen. Das hatte ich schon probiert. Vielleicht noch ne Idee?
     
  4. vfl_freak

    vfl_freak Premium-User

    Moin,
    bin jetzt auch nicht (mehr) der Experte, aber poste erstmal die genaue Fehlermeldung!

    Was genau ist "delims" ?
    Dann ("%date%") ... muss das wirklich in Hochkommata stehen?
    Und was ist 'date'?

    Falls es nicht weiter eingrenzbar ist, mal die Schleifen einzeln durchlaufen (also nicht beide in einer Datei). Ggf. auch nur zeilenweise ...

    VG Klaus
     
  5. HonniCilest

    HonniCilest Erfahrenes Mitglied

    Ich bin leider auch kein bat-Experte, ich bevorzuge bei solchen Fragen immer Powershell, ich finde bat immer so unleserlich.

    Aber ich hätte wenige Vermutungen, die du ggf. überprüfen kannst:

    1. Ein Tag ist aus meiner sich z.B. heute der 07.08.2017, zumindest gibt mir das %date% aus. Wenn du nun nach '.' trennst, dann hast du 3 Token und nicht 4. Ich weiß nicht inwieweit Systemeinstellungen Einfluss auf das Format von %date% haben.
    2. Wenn ich deinen Code haargenau kopiere sind 2 'Sonderzeichen', jeweils 1 vor und nach SET Pfad im Code enthalten. Ich weiß nicht, ob die auch in deinem Code stehen oder in irgendeiner Form von Tutorials.de kommen und daher nur hier auftauchen.
     
  6. Biber3

    Biber3 Erfahrenes Mitglied

    Moin wyk15591,

    ich denke, den Syntaxfehler ttritt auf, wenn du eine "Datei mit Leerzeichen im Namen" umbenennen willst.
    Streiche:
    ren %Pfad%\%%i %year%-%month%-%day%-%%i
    Setze
    ren "%Pfad%\%%i" "%year%-%month%-%day%-%%i"

    Grüße
    Biber
     
Die Seite wird geladen...