Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Uhrzeit vergleichen

Frage Entwicklung Batch & Shell

Mitglied: Denim44

Denim44 (Level 1) - Jetzt verbinden

26.03.2010, aktualisiert 10:07 Uhr, 3246 Aufrufe, 7 Kommentare

Hi @ all,

Ich möchte mit einer Batch in einem .txt file die Uhrzeit (englisches format) auslesen und in eine temp datei von der aktuellen Uhrzeit ausgehend, filtern.

Bsp.:

03/22/2010 03:08:12 PM Test
03/22/2010 03:08:14 PM Test
03/22/2010 03:08:14 PM Test
03/22/2010 03:08:14 PM Test
03/22/2010 03:08:14 PM Test
03/22/2010 03:08:14 PM Test
03/22/2010 03:09:15 PM Test





Also wenn es 4:00 PM spät ist, sollen alle einträge von 3:00:00 - 3:59:59 gefiltert werden

bzw. soll halt alles was mit 03:* .. PM anfängt gefiltert werden
Mitglied: Biber
26.03.2010 um 10:57 Uhr
Moin Denim44,

das soltest du ohne viel Verrenkungen mit Find oder FindStr hinbekommen.

Demo am CMD-Prompt:
01.
>type e:\schnipsel\pmhours.txt 
02.
03/22/2010 03:08:12 PM Test 
03.
03/22/2010 03:08:14 PM Test 
04.
03/22/2010 03:08:14 PM Test 
05.
03/23/2010 05:08:14 PM Test 
06.
03/24/2010 07:08:14 PM Test 
07.
03/24/2010 04:08:14 PM Test 
08.
03/22/2010 03:08:14 PM Test 
09.
03/22/2010 03:08:14 PM Test 
10.
03/22/2010 03:08:14 PM Test 
11.
03/22/2010 03:09:15 PM Test 
12.
(=10:53:25  D:\temp=) 
13.
>findstr /c:"03/22/2010 03:" e:\schnipsel\pmhours.txt 
14.
03/22/2010 03:08:12 PM Test 
15.
03/22/2010 03:08:14 PM Test 
16.
03/22/2010 03:08:14 PM Test 
17.
03/22/2010 03:08:14 PM Test 
18.
03/22/2010 03:08:14 PM Test 
19.
03/22/2010 03:08:14 PM Test 
20.
03/22/2010 03:09:15 PM Test
Die untere Zeile zieht aus der Beispieldatei "pmHours.txt" nur die Zeilen mit "03/22/2010 03:" heraus.
Wenn deine Anforderung nicht mehr Restriktionen hat als im Beitragstext angegeben, dann wäre auch eine simple Suche nach "LEERZEICHEN-03-DOPPELPUNKT" ausreichend.
01.
>findstr /c:" 03:" e:\schnipsel\pmhours.txt 
02.
03/22/2010 03:08:12 PM Test 
03.
03/22/2010 03:08:14 PM Test 
04.
03/22/2010 03:08:14 PM Test 
05.
03/22/2010 03:08:14 PM Test 
06.
03/22/2010 03:08:14 PM Test 
07.
03/22/2010 03:08:14 PM Test 
08.
03/22/2010 03:09:15 PM Test
Grüße
Biber
Bitte warten ..
Mitglied: Denim44
26.03.2010 um 11:13 Uhr
gut gut .. geht schonmal


Nur wie kann ich jetzt aus der Systemzeit (englisch) bspw.: 03: auslesen und in eine Variable packen??
Bitte warten ..
Mitglied: Biber
26.03.2010 um 11:39 Uhr
Moin Denim44,

die Uhrzeit bekommst du über die Variable %time% angezeigt ....und die "Stunden" der Uhrzeit wären (bei meinen lokalen Einstellungen; Windows-Rechner) die ersten beiden Stellen davon
01.
>echo %time% Std:[%time:~0,2%] 
02.
11:33:45,74 Std:[11]
Falls bei dir ähnliche Verhältnisse herrschen, dann kannst du diese Stunden (nach einer Prüfung auf "PM/AM") in eine Variable speichern:
... 
Set "myHour=%time:~0,2%" 
...
Beispiele zum Umgang mit Datums- und Zeitvariablen im Batch findest du aber auch über die Forumssuchfunktion.

Grüße
Biber
Bitte warten ..
Mitglied: Denim44
26.03.2010 um 11:42 Uhr
perfekt :D .. ich dank dir für die kompetetente und schnelle Hilfe Biber
Bitte warten ..
Mitglied: bastla
26.03.2010 um 12:25 Uhr
@Biber

Interessanter wird das Filtern, wenn zusätzlich zwischen "AM" und "PM" unterschieden wird:
findstr /c:"03:..:.. PM" "e:\schnipsel\pmhours.txt"
sowie diverse Variationen davon (mit "*" anstelle von "." oder Angabe der Klasse "[0-9]" oder Maskierung der ":") liefern bei mir (unter XP) keine Ausgabe ...

Dass sich als Workaround ein zweiter Filtervorgang nur auf "PM" anbietet, ist natürlich klar.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
26.03.2010 um 12:36 Uhr
Moin bastla,

unterschätz die Redmonder PraktikantInnen nicht.
01.
>type e:\schnipsel\pmhours.txt 
02.
03/22/2010 03:08:12 PM Test 
03.
03/22/2010 03:08:14 PM Test 
04.
03/22/2010 03:08:14 PM Test 
05.
03/23/2010 05:08:14 PM Test 
06.
03/24/2010 07:08:14 PM Test 
07.
03/24/2010 04:08:14 PM Test 
08.
03/22/2010 03:08:14 AM Test 
09.
03/22/2010 03:08:14 AM Test 
10.
03/22/2010 03:08:14 PM Test 
11.
03/22/2010 03:09:15 PM Test 
12.
(=12:34:55  D:\temp=) 
13.
>findstr /R /C:".* 03:.*PM*." e:\schnipsel\pmhours.txt 
14.
03/22/2010 03:08:12 PM Test 
15.
03/22/2010 03:08:14 PM Test 
16.
03/22/2010 03:08:14 PM Test 
17.
03/22/2010 03:08:14 PM Test 
18.
03/22/2010 03:09:15 PM Test
Grüße
Biber
Bitte warten ..
Mitglied: bastla
26.03.2010 um 13:14 Uhr
@Biber
... womit wieder einmal die alte Bauernregel "Wer RegEx haben will, muss es auch sagen." bewiesen wäre ...

Thx
bastla
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Server verstellt selbstständig die Uhrzeit (9)

Frage von Snejmann zum Thema Windows Server ...

Datenbanken
Laufende Aufträge nach Uhrzeit auswerten (5)

Frage von BirdyB zum Thema Datenbanken ...

Linux
gelöst Vergleich zwischen Distributionen. Mögliche Kriterien? (18)

Frage von hansleitner zum Thema Linux ...

Grafikkarten & Monitore
Grafikkarten Vergleich & Grafikkarten Rangliste

Link von joemix zum Thema Grafikkarten & Monitore ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...