Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Variable date in cmd

Frage Entwicklung Batch & Shell

Mitglied: Grisu-Newbie

Grisu-Newbie (Level 1) - Jetzt verbinden

15.06.2007, aktualisiert 16.06.2007, 32501 Aufrufe, 5 Kommentare

Anfängerfrage cmd

Hallo, mein Name ist Christine.

Ich habe ein kleines Batchprogramm für die cmd (Windows XP SP2) geschrieben, welches meine Ordner auf D:\ auf eine USB-PLatte sichert.
Es werden bestimmte Order in das Verzeichnis Z:\backups\%date%-ordner kopiert.

Leider ergibt das dann Ordnernamen folgender Struktur: 12.03.2007-ordner. Ich würde aber gerne folgende Struktur haben: 2007-03-12-ordner. Kann man irgendwo in Windows das Format für %date% einstellen oder durch einen Befehl in der cmd umformatieren?

Besten Daynk im Voraus, falls mir jemand antwortet.

Lg Christine
Mitglied: Dani
15.06.2007 um 22:15 Uhr
Hallo Christine,
also so müsste es gehen:
01.
@echo off 
02.
 
03.
for /f "delims=. tokens=1,2,3" %%a in ('echo %date%') do set datum=%%c-%%b-%%a 
04.
echo %datum% 
05.
 
06.
pause
Ungetesteter Schnipsel.


Gruß
Dani
Bitte warten ..
Mitglied: Biber
15.06.2007 um 22:30 Uhr
Moin Grisu-Newbie,

willkommen im Forum.
Fussnote zu Danis Lösung:
Du kannst es in der FOR /F-Klammer noch etwas vereinfachen.
01.
.. 
02.
for /f "delims=. tokens=1-3" %%a in (%date%) do set datum=%%c-%%b-%%a 
03.
..
... funktioniert allerdings nur, wenn Du genau "weißt", dass das Datumsformat auf allen Rechnern, auf denen Dein Batch läuft das Format tt.mm.jjjj ist.

Für etwas robusteren Umgang mit "Datums- und Zeitvariablen im Batch" siehe das gleichnamige Tutorial dazu hier im Bereich Batch & Shell (siehe unten unter Beiträge im gleichen Bereich).

Grüße
Biber
Bitte warten ..
Mitglied: Grisu-Newbie
15.06.2007 um 23:14 Uhr
Danke euch beiden für die Tipps.

Ich fürchte, ich hjabe mich unklar ausgedrückt. Ich wollte eine Lösung, die mir bei der verwendung von md %date% einen Ordner dieser Struktur erzeugt: YYYY-MM-DD.

Beispiel:
@echo off

for /f "delims=. tokens=1,2,3" %%a in ('echo %date%') do set datum=%%c-%%b-%%a
echo %datum%
md %date%

pause
Sollte also so einen Ordner erzeugen: 2007-06-15. Es wird aber wie immer 15.06.2007 erzeugt.

Any further hints?

lg Christine
Bitte warten ..
Mitglied: Biber
15.06.2007 um 23:29 Uhr
Moin Grisu-Newbie,

nein nein, wir haben Dich schon richtig verstanden...

Nochmal ausführlich:
  • Nein, Du kannst das angezeigte Systemdatum nicht ohne Nebeneffekte in Deinem Wunschformat einstellen. Nicht die globale Variable %date% formatieren.
  • Aber: Du kannst ausweichen auf eine selbst definierte Variable namens %datum% oder %meindatum% oder im Extremfall auch tatsächlich %date% (letzteres wäre ganz äh-bäh, das tut man/frau nicht!)

Änderung bei Deinem Schnipsel:
01.
For /f ... ...DO Set Datum=.....(DeinFormat) 
02.
 
03.
REM md %date% ------->so nicht 
04.
md %Datum% <i> --------->so schon</i>
Solltest Du aus welchen Gründen auch immer auf den Variablennamen %date% bestehen, dann unbedingt die Option/die Anweisung "Setlocal" verwenden, damit diese Änderung auch nur in Deinem Batch wirkt und keine Seiteneffekte auftreten.
01.
@echo off <b> & setlocal</b> 
02.
REM "not recommended" would be my further hint... 
03.
for /f "delims=. tokens=1-3" %%a in (%date%) do set <b>date</b>=c-%%b-%%a 
04.
echo %date% 
05.
md %date% 
06.
 
07.
pause
Grüße
Biber
Bitte warten ..
Mitglied: Grisu-Newbie
16.06.2007 um 08:06 Uhr
Es war meine Schuld, sorry. Ich hatte den Code nicht genau gelesen. Super, funkt!
Nein, ich bestehe nicht darauf, %date% zu verwenden.

Gruß Christine
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch: CPU-Auslastung eines Prozesses auslesen und als Variable definieren (3)

Frage von tralveller zum Thema Batch & Shell ...

Batch & Shell
gelöst Sonderzeichen aus einer Variable entfernen? (13)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(2)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
Lokales Adminprofil defekt (15)

Frage von Yannosch zum Thema Windows 7 ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (11)

Frage von Bernulf zum Thema Verschlüsselung & Zertifikate ...

Internet Domänen
Nameserver ein Geist? (9)

Frage von zelamedia zum Thema Internet Domänen ...