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

Datum in einem bestimmten Format erstellen

Frage Entwicklung Batch & Shell

Mitglied: poljew

poljew (Level 1) - Jetzt verbinden

02.09.2011 um 15:48 Uhr, 2267 Aufrufe, 5 Kommentare

Brauche wieder Hilfe!

Hallo Experten!
ich habe ein Problem.
Bei uns auf dem Server werden die Daten jede Nacht in bestimmte Ordner verschoben, der Ordnername sieht z.B so aus: 2011-8-12.
Ich habe eine Batch erstellt die nach diesen Ordner sucht.

Also ich stelle mein Datum so zusammen:

set jahr=%date:~-4%
set monat=%date:~-6,1%
set tag=%date:~-10,2%

echo %jahr%-%monat%-%tag%

Wenn 2001-1-11 geht, dann funktioniert alles, wenn wir aber 2011-9-2 haben, sucht meine batch nach 2011-9-02 und findet natürlich nichts.

Gibt es dafür eine Lösung?

Vielen Dank in vorraus,

Gruß
Mitglied: 60730
02.09.2011 um 15:57 Uhr
Moin,

bau doch einfach in den Biber ein
01.
if %date:~-11,1% gtr 0 set tag=%date:~-9,1%
dazwischen. - Wenns sein muß - das gleiche mit dem Monat

Und vergess den Pistaziengrünen Haken nicht.


gruß
Bitte warten ..
Mitglied: Biber
02.09.2011 um 16:00 Uhr
Moin poljew,

willkommen im Forum.
Oder trenne es so:
[Demo am CMD-Prompt; eingeben nur die Testzeilen beginnend mit ">" ]
>for /f "delims=- tokens=1-3" %i in ("2011-12-17") do @Echo 2011-12-17 jahr:[%i] monat:[%j] tach: [%k] 
2011-12-17 jahr:[2011] monat:[12] tach: [17] 
 
(=15:58:10  D:\temp=) 
>for /f "delims=- tokens=1-3" %i in ("2011-1-9") do @Echo 2011-1-9 jahr:[%i] monat:[%j] tach: [%k] 
2011-1-9 jahr:[2011] monat:[1] tach: [9]
Grüße
Biber
Bitte warten ..
Mitglied: poljew
02.09.2011 um 16:19 Uhr
Hallo,

verstehe ich nicht, wie "bau doch einfach in den Biber ein"?

Danke
Bitte warten ..
Mitglied: rubberman
02.09.2011 um 18:41 Uhr
Hallo poljew,

relativ allgemeingültig (wenn man Zugriff auf die Registry hat) sind diese beiden Varianten:
01.
@echo off &setlocal 
02.
 
03.
:: iDate (Reihenfolge 0=mdy, 1=dmy, 2=ymd) und sDate (Trennzeichen) aus der Registry lesen (für beide Varianten) 
04.
for /f "tokens=1,2*" %%a in ('reg query "HKCU\Control Panel\International"^|findstr /i "\<[is]Date\>"') do set "%%a=%%c" 
05.
echo Reihenfolge: '%iDate%'    Trennzeichen: '%sDate%' 
06.
 
07.
:: Strings 
08.
for /f "tokens=1-3 delims=%sDate%" %%a in ("%date:* =%") do ( 
09.
  if %iDate%==0 (set mm=%%a&set dd=%%b&set yy=%%c) 
10.
  if %iDate%==1 (set dd=%%a&set mm=%%b&set yy=%%c) 
11.
  if %iDate%==2 (set yy=%%a&set mm=%%b&set dd=%%c) 
12.
13.
echo %yy% %mm% %dd% 
14.
 
15.
:: Zahlen 
16.
for /f "tokens=1-3 delims=%sDate%" %%a in ("%date:* =%") do ( 
17.
  if %iDate%==0 (set /a m=100%%a%%100,d=100%%b%%100,y=10000%%c%%10000) 
18.
  if %iDate%==1 (set /a d=100%%a%%100,m=100%%b%%100,y=10000%%c%%10000) 
19.
  if %iDate%==2 (set /a y=10000%%a%%10000,m=100%%b%%100,d=100%%c%%100) 
20.
21.
echo %y% %m% %d% 
22.
 
23.
pause
Grüße
rubberman
Bitte warten ..
Mitglied: poljew
05.09.2011 um 09:35 Uhr
Danke,

es hat geklappt.

Ihr seid die besten!
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (52)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...