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, 6371 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Sicherheits-Tools
gelöst Gutes einfach zu bedienendes VPN gesucht - am besten kostenlos (19)

Frage von power-user zum Thema Sicherheits-Tools ...

Windows Netzwerk
gelöst Excel Liste soll Partnerfirma zugänglich gemacht werden (3)

Frage von Knorkator zum Thema Windows Netzwerk ...

C und C++
C++ mit Qt bekomme ich einfach nicht zum laufen (3)

Frage von PeterPann zum Thema C und C ...

Router & Routing
gelöst VPN, Feste IP-Adr. Verständnisfrage bzgl. GateWay (Einstufung: Sehr einfach) (14)

Frage von uuppss zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...