nanunana Geschrieben 11. Januar 2009 Geschrieben 11. Januar 2009 Hallo Zusammen, möchte eine Datei umbenennen, deren Dateiname immer sich änder, und zwar durch aktuellen datum. also ich habe nur die Endung fest. ich habe es mit der Formulierung ausprobiert rename *.bat test1.bat wenn man überhaupt so machen kann ? Danke im voraus,
TDM Geschrieben 12. Januar 2009 Geschrieben 12. Januar 2009 Die Frage, die sich mir erstmal stellt - gibt es nur eine Datei im Verzeichnis? Bzw. enthält der Dateiname wirklich nur den Timestamp?
nanunana Geschrieben 12. Januar 2009 Autor Geschrieben 12. Januar 2009 Hallo, ja es gibt immer nur eine Datei und die sieht so aus dateiname_ 20090112.bat und die möchte ich umbenennen. Gruß
ben-kla Geschrieben 13. Januar 2009 Geschrieben 13. Januar 2009 Versuchs mal so @rem Aktuelles datum in 3 variablen aufteilen, damit die punkte nich stören set jahr=%date:~-4% set monat=%date:~-7,2% set tag=%date:~-10% @rem datei umbenennen ren dateiname_%jahr%%monat%%tag%.bat test.bat Sollte funktionieren MFG Ben-kla
nanunana Geschrieben 13. Januar 2009 Autor Geschrieben 13. Januar 2009 Hallo, kann ich in den Variablen das Datum von gestrenauch speichern ? Danke
ben-kla Geschrieben 14. Januar 2009 Geschrieben 14. Januar 2009 ja ist möglich: @rem Aktuelles datum in 3 variablen aufteilen, damit die punkte nich stören set jahr=%date:~-4% set monat=%date:~-7,2% set tag=%date:~-10,2% if %tag% LSS 10 (goto klerinerzehn) else (goto groesser) :kleinerzehn @rem Wenn tag klein 10 ist muss die führende null entfernt. set tag=%tag:~-1% set /a tag=%tag%-1 set tag=0%tag% ren test.txt test_%jahr%%monat%%tag%.txt :groesser @rem Wenn tag größer 10 ist muss nichts umgeschrieben werden set /a tag=%tag%-1 ren test.txt test_%jahr%%monat%%tag%.txt
ben-kla Geschrieben 14. Januar 2009 Geschrieben 14. Januar 2009 Schaltjahre bis 2052 werden nun auch berücksichtigt und der monats wechesel ,wenn der tag 1 ist. auch ob der vormonat nun 31 tage hat oder nur 30. oder gar 28/29(schaltjahr) @rem Aktuelles datum in 3 variablen aufteilen, damit die punkte nich stören set jahr=%date:~-4% set monat=%date:~-7,2% set tag=%date:~-10,2% set /a vormonat=%monat%-1 set vormonat=%vormonat:~-1% if %vormonat% EQU 0 set /a vormonat=12 if %tag% EQU 1 (goto vormonat) else (goto nichteins) :nichteins if %tag% LSS 10 (goto kleiner) else (goto groesser) :kleiner set tag=%tag:~-1% set /a tag=%tag%-1 set tag=0%tag% goto feddischnormal :groesser set /a tag=%tag%-1 goto feddischnormal :vormonat for %%j in (1 3 5 7 8 10 12) do if %vormonat%==%%j set /a tag=31 & goto feddischvormonat for %%k in (4 6 9 11) do if %vormonat%==%%k set /a tag=30 & goto feddischvormonat for %%l in (2004 2008 2012 2016 2020 2024 2028 2032 2036 2040 2044 2048 2052) do IF %jahr%==%%l set /a tag=29 & goto feddischvormonat set /a tag=28 if %vormonat% LSS 10 (set vormonat=0%vormonat%) else (set vormonat=%vormonat%) ren test.txt test_%jahr%%vormonat%%tag%.txt & exit :feddischvormonat if %vormonat% LSS 10 (set vormonat=0%vormonat%) else (set vormonat=%vormonat%) ren test.txt test_%jahr%%vormonat%%tagn%.txt exit :feddischnormal ren test.txt test_%jahr%%monat%%tag%.txt exit p.s. Mit war grad Langweilig ^^
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden