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

Datumsmanipulationen, einfach gemacht

Tipp Entwicklung Batch & Shell

Mitglied: 78632

78632 (Level 1)

15.05.2009, aktualisiert 16.05.2009, 6410 Aufrufe, 2 Kommentare

Ein etwas unkonventioneller Weg, mit Datumsangaben (z. B. im Dateisystem) zu arbeiten

Als User hat man ja auf den eigenen Registry-Zweig in der Regel Zugriff. Also warum nicht temporär ein festes, für Manipulationen gültiges Format vorgeben?

Beispielcode für Batch-Verarbeitung:

01.
@echo off & setlocal 
02.
 
03.
:: Aktuell verwendetes Datumsformat holen und in Variable sichern 
04.
for /f "tokens=3" %%d in ('reg query "hkcu\control panel\international" /v sShortDate') do set "dfmt=%%d" 
05.
echo %dfmt% 
06.
 
07.
:: Datumsformat falls erforderlich temporär auf "normalen" Wert ändern 
08.
if not "%dfmt%"=="dd.MM.yy" reg add "hkcu\control panel\international" /v sShortDate /t REG_SZ /d dd.MM.yy /f 
09.
 
10.
::Aktionen durchführen, Variable "Datum" aus Dateidatum erhalten, z. B. mit % ~ti 
11.
 
12.
Set Datum=15.05.09 
13.
set FDatum=%Datum:~6,2%%Datum:~3,2%%Datum:~0,2% 
14.
Echo %fdatum% 
15.
pause 
16.
:: ergibt als Variable FDatum ein sortier- und vergleichbares Format, nämlich 090515 
17.
:: Aktionen durchführen 
18.
 
19.
pause 
20.
 
21.
:: Datumsformat erforderlichenfalls auf gespeicherten Wert zurücksetzen 
22.
if not "%dfmt%"=="dd.MM.yy" reg add "hkcu\control panel\international" /v sShortDate /t REG_SZ /d %dfmt% /f 
23.
 
Mitglied: LotPings
15.05.2009 um 21:04 Uhr
Hallo blablanick,
ich finde es nicht so prickelnd.

Wenn du schon die Registry liest, hast du ja auch alle Informationen die du brauchst, um die Ausgabe von %Date% korrekt zu interpretieren.
Warum also dann noch schreiben?

Mein Motto dabei ist so sicher wie möglich vorzugehen und Schreibzugriffe auf die Registry,
die in dem Moment Systemweit Wirkung zeigen, würde ich mit sehr überlegen.

Gruß
LotPings
Bitte warten ..
Mitglied: 78632
15.05.2009 um 21:28 Uhr
Ob prickelnd oder nicht, bleibt jedem selbst überlassen. Es ist EINE Möglichkeit.

Mein Motto ist, keine ellenlange Umrechnung zu veranstalten, sondern die einfachste und zugleich wirkungsvollste Lösung zu bevorzugen.

Ich sehe darin auch keinerlei Risiko, da die tatsächlich verwendeten Zeiten im Filesystem real in einem 64Bit-Wert abgespeichert und genutzt werden und sich durch das Ausgabeformat der Darstellung daran absolut nichts ändert.

Allerdings habe ich jetzt das Beispiel so geändert, dass die Notwendigkeit des Änderns in der Registry überprüft wird und die Änderung nur erfolgt, falls sich das Datumsformat nicht bereits im "normalen" Zustand befindet.
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
gelöst Excel Liste soll Partnerfirma zugänglich gemacht werden (3)

Frage von Knorkator zum Thema Windows Netzwerk ...

Microsoft
Suche einfachen Document Viewer (4)

Frage von Fenris14 zum Thema Microsoft ...

LAN, WAN, Wireless
Netzwerkkarte Primär - woran wird das fest gemacht (6)

Frage von ITSyndication zum Thema LAN, WAN, Wireless ...

Webentwicklung
Einfache Webseite selber erstellen (4)

Frage von Finley77 zum Thema Webentwicklung ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...