nanunana Geschrieben 11. Januar 2009 Teilen 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, Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 12. Januar 2009 Teilen 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nanunana Geschrieben 12. Januar 2009 Autor Teilen 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ß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ben-kla Geschrieben 13. Januar 2009 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nanunana Geschrieben 13. Januar 2009 Autor Teilen Geschrieben 13. Januar 2009 Hallo, kann ich in den Variablen das Datum von gestrenauch speichern ? Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ben-kla Geschrieben 14. Januar 2009 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ben-kla Geschrieben 14. Januar 2009 Teilen 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 ^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.