Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Quickie: Ordner auf "Tag minus 1" umbenennen

Frage Entwicklung Batch & Shell

Mitglied: FA-jka

FA-jka (Level 3) - Jetzt verbinden

22.10.2014, aktualisiert 17:26 Uhr, 1090 Aufrufe, 6 Kommentare

Ich möchte unter WindowsXP in einer Batch-Datei:
1. Das Datum des gestrigen Tages auslesen
2. Den Ordner D:\Beispielordner\ entsprechend des Ergebnisses aus Schritt 1. umbenennen (Format: yyyymmdd)

Beispiel: Am 01.03.2016 soll das aktuelle Datum ermittelt und der Ordner in Bezug auf das Ermittlungsergebnis nach D:\20160228\ umbenannt werden. Wie mache ich das am Elegantesten?
Mitglied: FA-jka
22.10.2014, aktualisiert um 19:10 Uhr
Ich habe mir ein paar ein paar Lösungen zusammengepastet. Was haltet Ihr hiervon?

01.
@echo off 
02.
 
03.
for /f "tokens=1" %%i in ('date /t') do set thedate=%%i 
04.
 
05.
set yy=%thedate:~-4% 
06.
set mm=%thedate:~-7,2% 
07.
set dd=%thedate:~-10,2% 
08.
echo Today    : %yy%%mm%%dd% 
09.
 
10.
if %dd%==08 ( 
11.
set dd=8 ) else ( 
12.
if %dd%==09 ( 
13.
set dd=9 ) ) 
14.
 
15.
if %mm%==08 ( 
16.
set mm=8 ) else ( 
17.
if %mm%==09 ( 
18.
set mm=9 ) ) 
19.
 
20.
set /A dd=%dd% - 1 
21.
set /A mm=%mm% + 0 
22.
 
23.
if /I %dd% GTR 0 goto DONE 
24.
set /A mm=%mm% - 1 
25.
if /I %mm% GTR 0 goto ADJUSTDAY 
26.
set /A mm=12 
27.
set /A yy=%yy% - 1 
28.
 
29.
:ADJUSTDAY 
30.
if %mm%==1 goto SET31 
31.
if %mm%==2 goto LEAPCHK 
32.
if %mm%==3 goto SET31 
33.
if %mm%==4 goto SET30 
34.
if %mm%==5 goto SET31 
35.
if %mm%==6 goto SET30 
36.
if %mm%==7 goto SET31 
37.
if %mm%==8 goto SET31 
38.
if %mm%==9 goto SET30 
39.
if %mm%==10 goto SET31 
40.
if %mm%==11 goto SET30 
41.
if %mm%==12 goto SET31 
42.
 
43.
goto ERROR 
44.
 
45.
:SET31 
46.
set /A dd=31 + %dd% 
47.
goto DONE 
48.
 
49.
:SET30 
50.
set /A dd=30 + %dd% 
51.
goto DONE 
52.
 
53.
:LEAPCHK 
54.
set /A tt=%yy% %% 4 
55.
if not %tt%==0 goto SET28 
56.
set /A tt=%yy% %% 100 
57.
if not %tt%==0 goto SET29 
58.
set /A tt=%yy% %% 400 
59.
if %tt%==0 goto SET29 
60.
 
61.
:SET28 
62.
set /A dd=28 + %dd% 
63.
goto DONE 
64.
 
65.
:SET29 
66.
set /A dd=29 + %dd% 
67.
 
68.
:DONE 
69.
if /i %dd% LSS 10 set dd=0%dd% 
70.
if /I %mm% LSS 10 set mm=0%mm% 
71.
set YESTERDAY=%yy%%mm%%dd% 
72.
echo Yesterday: %YESTERDAY%
Zu kompliziert, oder?
Bitte warten ..
Mitglied: Biber
22.10.2014, aktualisiert um 20:09 Uhr
Moin FA-jka,

zu kompliziert finde ich es nicht... mit zwei, drei Kommentarzeilen und in Codeformatierung wäre es durchaus nachvollziehbar.

Zum Vergleich eine der eher "komplizierten" Lösungen zu diesem Thema: Datum vom Vortag in eine Datei schreiben - Ergänzung.

"Ergänzung" bezieht sich auf den Vorgänger-Beitrag Datum vom Vortag in eine Datei schreiben.

Beide Beiträge sind älter als ... ein paar Jahre, sach ich ma'.

Dementsprechend wird bestimmt hier im Thread noch der Kommentar kommen "Hmmm .. mit PowerShell bekommst du das in 67 Zeichen hin..".

Mag sein, aber dein Schnipsel und die oben verlinkten sind ja Beispiele ein für CMD-Skript... und in dem Kontext durchaus akzeptabel.

Grüße
Biber

P.S. Codeformatierung in deinem Beitrag zieh ich gleich nach... die zwei, drei Kommentarzeilen könntest du noch ergänzen bitte.
Bitte warten ..
Mitglied: colinardo
22.10.2014, aktualisiert um 19:40 Uhr
Dementsprechend wird bestimmt hier im Thread noch der Kommentar kommen "Hmmm .. mit PowerShell bekommst du das in 67 Zeichen hin..".
Biddeschön ... da will ich dich nicht enttäuschen
rni "c:\beispielordner" ((get-date -Format "yyyyMMdd").AddDays(-1))
Aber nur weil es hier eben keine Kategorie Powershell gibt. Mit der Kategorie Batch & Shell kann heute ja vieles verbunden werden ; sollte man mal über eine Kategorie-Ergänzung nachdenken. Ich frag mich sowieso wie lange Batch in Windows noch sein Dasein fristen wird. Den Krampf werden wir wohl nie los.

Als denn...
Grüße Uwe
Bitte warten ..
Mitglied: Biber
22.10.2014 um 20:14 Uhr
Moin colinardo,

Zitat von colinardo:

Aber nur weil es hier eben keine Kategorie Powershell gibt. Mit der Kategorie Batch & Shell kann heute ja vieles verbunden
werden ;
... sollte man mal über eine Kategorie-Ergänzung nachdenken.
Ähmm ja.... den Vorschlag habe ich auch schon mal vor .... hmmm .... ein paar Jahren eingereicht.
Muss irgendwo auf der ToDo-Rolle von unser allem WebMaster @Frank stehen - wahrscheinlich etwas weiter hinten.

Bis zur Version PowerShell v8 GTX werden wir aber so eine Kategorie haben, denke ich.

Grüße
Biber
Bitte warten ..
Mitglied: FA-jka
23.10.2014 um 08:54 Uhr
Zitat von colinardo:

Ich frag mich sowieso wie lange Batch in Windows noch sein Dasein fristen wird. Den Krampf werden wir wohl nie los.

Warum auch? Für einen Entwickler spielt die Kompatiblität zu möglichst vielen Systemen eine hohe Rolle. Und der kleinste gemeinsame Nenner ist in dem Fall nun mal eine Batchdatei.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Ordner Umbenennen +heutiges Datum
gelöst Frage von ahsendenBatch & Shell12 Kommentare

Hallo zusammen, Ich muss für eine tagliche Außerhaussicherrung auf Externe Festplatten immer folgendes manuell ausführen: Löschen des Ordners "Backup-extern_20170201" ...

Batch & Shell
Viele Ordner umbenennen
gelöst Frage von ralfdiverBatch & Shell8 Kommentare

Ich habe folgendes Problem: Auf einem Server habe ich mehrere hundert Verzeichnisse mit folgender Bezeichnung: 2015-001 2015-002 2015-004 2015-007 ...

Windows Server
Ordner umbenennen nicht möglich
Frage von carbon1XWindows Server8 Kommentare

Hey zusammen, ich habe folgendes Problem. Ein User kann auf seinem PC einen Netzwerkordner (lokal auf dem Server liegend) ...

Batch & Shell
Alle Dateien in einem Ordner umbenennen
gelöst Frage von l.scheperBatch & Shell5 Kommentare

Hallo liebe Helferlein, lese schon seit geraumer Zeit mit und hab schon viele Tipps erfolgreich genutzt, vielen Dank dafür. ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
Frage von HelloWorldBatch & Shell18 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...

Windows 10
Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App
Tipp von kgbornWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...