Veröffentlicht 11. Januar 200916 j 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,
12. Januar 200916 j Die Frage, die sich mir erstmal stellt - gibt es nur eine Datei im Verzeichnis? Bzw. enthält der Dateiname wirklich nur den Timestamp?
12. Januar 200916 j Hallo, ja es gibt immer nur eine Datei und die sieht so aus dateiname_ 20090112.bat und die möchte ich umbenennen. Gruß
13. Januar 200916 j 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
14. Januar 200916 j 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
14. Januar 200916 j 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 ^^
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.