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

Uhrzeit vergleichen

Frage Entwicklung Batch & Shell

Mitglied: Denim44

Denim44 (Level 1) - Jetzt verbinden

26.03.2010, aktualisiert 10:07 Uhr, 3233 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 ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell - 2 Arrays vergleichen und gleiche Einträge verbinden (6)

Frage von internet2107 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Datenbanken
gelöst Access 2010 Kriteruim Uhrzeit für mehrere Tage (3)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (11)

Frage von Akcent zum Thema Hyper-V ...

Netzwerke
Abisolierwerkzeug (11)

Frage von SarekHL zum Thema Netzwerke ...

Windows Server
Server 2016 - Kuriositäten (8)

Frage von certifiedit.net zum Thema Windows Server ...