Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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,

Geschrieben

Die Frage, die sich mir erstmal stellt - gibt es nur eine Datei im Verzeichnis?

Bzw. enthält der Dateiname wirklich nur den Timestamp?

Geschrieben

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

Geschrieben

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

Geschrieben

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 ^^

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Weiterlesen  

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...