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, 3235 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
Ubuntu
gelöst Dienste fahren nach Neustart nicht vernünftig hoch (Uhrzeit) (5)

Frage von Moddry zum Thema Ubuntu ...

Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

Windows Netzwerk
gelöst User um XYZ Uhrzeit abmelden (3)

Frage von Adnan88 zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Batch zum Vergleichen der Firefox-Version (2)

Frage von patrick93 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte