Top-Themen

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 Telefonliste mit Batch überwachen

Mitglied: barkingdog

barkingdog (Level 1) - Jetzt verbinden

10.12.2008, aktualisiert 12.12.2008, 3941 Aufrufe, 11 Kommentare

Hallo miteinander,
bei der Suche nach einer Möglichkeit mein Problem zu lösen bin ich auf dieses Forum aufmerksam geworden.
Mein Problem ist folgendes, es geht um die Auswertung einer .txt datei, in welcher eingehende Anrufe gespeichert werden.
Gegenwärtig ist es so, dass sobald sich in dieser .txt etwas ändert ich eine Email erhalte, allerdings sind nicht alle eingehenden Anrufe
für mich und deswegen will ich einen Filter drüber laufen lassen der eine seperate .txt erstellt in welcher nur Anrufe für mich gespeichert werden.

Hier mal ein Beispieleintrag:
01.12.2008,09:46:01,[b]100[/b], +49 (9999) 998877, ja,ein, 9, 100, 100
01.12.2008,09:46:12,122 , +49 (9999) 998877, ja,ein, 9, 122, 122

So meine Durchwahl ist die 100, die bat, soll jetzt immer die letzte Zeile auf die Durchwahl hin prüfen und die Zeile in eine extra .txt zu schreiben.

Fragen:

-ist es möglich eine geschriebene .bat Datei alle 10 min. .txt prüfen zu lassen

Ich kenne mich mit dem Schreiben einer Stapelverarbeitung nicht so gut aus, ich habe mir ein paar Sachen selber zusammengesucht, allerdings verstehe ich da nicht alles.


@echo off & setlocal enabledelayedexpansion
set "CTILOG=D:\CTILOG.TXT" Anruferliste wird von der Telefonanlage geschrieben
set "Anrufe=D:\ANRUFE.TXT"
Datei in die Anrufe für mich geschrieben werden sollen
for /f "tokens=1,2,3,4 delims=" %%a in ('find "100" %CTILOG%') do @set vari=%%a // Schleife die den String nach meiner Durchwahl durchsucht und dann in Variable vari speichert (?)


Jetzt weiss ich nicht mehr wie es weitergeht, würde mich über jede Hilfe freuen danke.
Mitglied: bastla
10.12.2008 um 15:01 Uhr
Hallo barkingdog und willkommen im Forum!

Was genau soll denn in Deiner "ANRUFE.TXT" stehen?

Falls Du nur aus der "CTILOG.TXT" alle Deine Durchwahl betreffenden Anrufe filtern willst, sollte doch
findstr /c:",100 " C:\CTILOG.TXT > D:\ANRUFE.TXT
genügen. Durch die Verwendung der Umleitung mit ">" wird bei jedem Batchdurchlauf die gefilterte Datei neu erstellt.

Wenn Du "sleep.exe" aus den Windows Server 2003 Resource Kit Tools zur Verfügung hast, könntest Du den Batch in einer Endlosschleife laufen lassen:
01.
@echo off & setlocal 
02.
:Loop 
03.
findstr /c:",100 " C:\CTILOG.TXT > D:\ANRUFE.TXT 
04.
sleep 600 
05.
goto :Loop
Grüße
bastla
Bitte warten ..
Mitglied: barkingdog
10.12.2008 um 16:09 Uhr
Eigentlich soll in der anrufe.txt die Zeile aus der CTILOG.txt ohne die beiden letzten Ziffern, die sind bei findstr nicht relevant. Jetzt weiß ich allerdings nicht ob das möglich ist.

Zum Ressource Kit Tool dass brauche nur installieren oder muss ich da noch was einstellen.

So sieht meine momentane Fassung aus:

@echo off & setlocal
:Loop
for /F "tokens=1-5 delims=," %%a in ('find "111" D:\CTILOG.TXT^') do @set vari=%%a
echo %Vari%>C:\neu.txt
sleep 600
goto :Loop


Das von dir gepostete hat bei mir nur eine leere Anrufe.txt erstellt. Wenn ich nur die ersten 5 Tokens haben will funktioniert das bei mir auch nicht, habe auch schon andere Schreibweisen benutzt leider mit dem gleichen Ergebnis.

for /F "tokens=1,2,3,4,5 delims=," %%a in ('find "111" D:\CTILOG.TXT^') do @set vari=%%a


Danke schon mal für deine Hilfe.
Bitte warten ..
Mitglied: bastla
10.12.2008 um 16:45 Uhr
Hallo barkingdog!

Zum Ressource Kit Tool dass brauche nur installieren oder muss ich da noch was einstellen.
Nach der Installation sollte der Programmordner (defaultmäßig: "C:\Programme\Windows Resource Kits\Tools") automatisch in die Variable %PATH% übernommen worden sein - dann stehen alle enthaltenen Programm im Batch zur Verfügung.

Alternativen wären
- die manuelle Ergänzung der "PATH"-Systemvariable über "Systemeigenschaften / Erweitert / Umgebungsvariablen / Systemvariablen" oder
- die Angabe des Pfades zur "sleep.exe" im Batch.
Eigentlich soll in der anrufe.txt die Zeile aus der CTILOG.txt ohne die beiden letzten Ziffern
Mit "Ziffern" sind hier vermutlich "Zahlen" gemeint - dann so:
01.
@echo off & setlocal 
02.
set "Anrufe=D:\ANRUFE.TXT" 
03.
set "CTILOG=D:\CTILOG.TXT" 
04.
 
05.
:Loop 
06.
if exist "%Anrufe%" del "%Anrufe%" 
07.
for /f "tokens=1-5 delims=," %%a in ('findstr /c:",100 " "%CTILOG%"') do >>"%Anrufe%" echo %%a,%%b,%%c,%%d,%%e 
08.
sleep 600 
09.
goto :Loop
Die Schreibweise des Suchstrings mit ",100 " sollte dafür sorgen, dass nicht unbeabsichtigt auch Zeilen, in welchen die Nummer des Anrufers "100" enthält, erfasst werden.

Dass mein Ansatz oben kein Ergebnis brachte, könnte daran liegen, dass sich das Leerzeichen nicht nach "100", sondern zwischen "," und "100" befindet (auch, wenn es in Deinem "Beispieleintrag" anders aussieht). Damit das beim Posten von weiteren Beispieldaten (und auch von Batchen) nicht mehr passiert, solltest Du dafür "Code"-Formatierung (ich bevorzuge für Daten "plain") verwenden.
Dein Batch hat aus meiner Sicht einen Nachteil: Es wird nur jeweils der letzte Anruf erfasst - falls es innerhalb der 10 Minuten "sleep"-Zeit mehrere gewesen sein sollten, wäre das nicht zu erkennen.

Grüße
bastla
Bitte warten ..
Mitglied: barkingdog
10.12.2008 um 16:55 Uhr
Ja mit Ziffern hatte ich Zahlen gemeint, da hatte ich mich unklar ausgedrückt.

Habe heute irgendwie keinen Kopf für solche Sachen, da hast du schon recht dass meine Batch einen Nachteil hat. Hm die Batch jede Sekunde durchlaufen zu lassen wäre wohl übertrieben, von daher lieber umschreiben.

Danke für die Anleitung mit der "Code"-Formatierung. Ich hatte es anfangs mit [code][/code] probiert.

Weiss nicht ob ich heute noch die Zeit finde es auszuprobieren wenn nich werde ich mich morgen nochmal damit auseinander setzen. Danke für deine Hilfe.
Bitte warten ..
Mitglied: bastla
10.12.2008 um 17:05 Uhr
Hallo barkingdog!

Vielleicht noch als Denkansatz (für morgen ): Du könntest eine Aufteilung vornehmen in "Anrufe_alt.txt" und "Anrufe_neu.txt". Bei jedem Batchdurchlauf wären alle in "CTILOG.TXT" enthaltenen relevanten Zeilen darauf hin zu überprüfen, ob sie bereits in einer der beiden Dateien enthalten sind - wenn nicht, dann an "Anrufe_neu.txt" anfügen.

Die "neuen" Anrufe könntest Du mit einem weiteren Batch zu "alten" machen, indem Du sie an "Anrufe_alt.txt" anfügst und "Anrufe_neu.txt" löschst (bzw leerst). Dieser Batch wäre nach Bedarf manuell aufzurufen.

Grüße
bastla
Bitte warten ..
Mitglied: barkingdog
11.12.2008 um 10:52 Uhr
Zitat von bastla:
Hallo barkingdog!
[...]
01.
@echo off & setlocal 
02.
> set "Anrufe=D:\ANRUFE.TXT" 
03.
> set "CTILOG=D:\CTILOG.TXT" 
04.
>  
05.
> :Loop 
06.
> if exist "%Anrufe%" del "%Anrufe%" 
07.
> for /f "tokens=1-5 delims=," %%a in ('findstr 
08.
> /c:",100 " "%CTILOG%"') do 
09.
> >>"%Anrufe%" echo %%a,%%b,%%c,%%d,%%e 
10.
> sleep 600 
11.
> goto :Loop 
12.
> 
>[...]
Dein Batch hat aus meiner Sicht einen Nachteil: Es wird nur jeweils
der letzte Anruf erfasst - falls es innerhalb der 10 Minuten
"sleep"-Zeit mehrere gewesen sein sollten, wäre das
nicht zu erkennen.

Grüße
bastla


Hallo bastla,

also mit dem was du da geschrieben hast bekomme ich leider kein Ergebnis und den Fehler finde ich auch nicht. Ich kenne mich nun wirklich nicht aus, aber eigentlich sieht es für richtig aus und daher weiss ich jetzt auch nicht wo ich da ansetzen muss.
Bitte warten ..
Mitglied: bastla
11.12.2008 um 14:27 Uhr
Hallo barkingdog!

Wies sieht denn nun tatsächlich eine Zeile der "CTILOG.TXT" aus? Derzeit wird nach
,100 
(mit einem Leerzeichen nach "100") gesucht - falls, wie oben schon angesprochen, dieses Leerzeichen eigentlich zwischen dem Komma und der Zahl 100 stehen müsste, kann natürlich nichts gefunden werden ...

Grüße
bastla
Bitte warten ..
Mitglied: barkingdog
11.12.2008 um 15:12 Uhr
Hallo bastla!

Ja es wird nach ,[Leerzeichen]100 gesucht. So der Fehler ist behoben jetzt werde ich es mal testen. Entschuldige bitte, wenn ich deine Nerven vielleicht etwas überstrapaziert haben sollte ;)

Edit

Kann ich mit "findstr" auch nach mehreren Sachen auf einmal suchen ?

01.
for /f "tokens=1-10 delims=," %%a in ('findstr /c:", 100.*,ein" "%CTILOG%"')
So dass ich nach der Rufnummer 100 suchen kann und ob in der Zeile auch ein steht. Ich habe die Metazeichen "." und "*" probiert aber es gibt kein Ergebnis. Ich hatte gedacht dass .* eine beliebige Folge von Zeichen darstellt oder liege ich damit falsch ?

Edit

^^Wenn Sie nach mehreren verschiedenen Suchausdrücken in einer Dateimenge suchen möchten, erstellen Sie eine Textdatei, in der jedes >Suchkriterium auf einer neuen Zeile aufgeführt ist. Sie können auch eine zweite Datei erstellen, die eine Liste der zu durchsuchenden >Dateien enthält. Um die Suchkriterien in der Datei Suchdat.txt zum Durchsuchen der Dateien in Dateilst.txt zu verwenden und anschließend die >Resultate in die Datei Resultat.aus zu schreiben, geben Sie Folgendes ein:
>findstr /g:suchdat.txt /f:dateilst.txt > resultat.aus


Quelle: Microsoft

Dass habe ich dazu gefunden, doch habe ich das Problem dasss es momentan an der Umsetzung hapert. Wenn ich das richtig verstanden habe,
schreibe ich eine der .txt Dateien die Suchkritieren rein und die andere ist die zu durchsuchende. Mir stellt sich jetzt bloss die Frage wie
ich die Suchkritieren da rein schreiben muss.
Bitte warten ..
Mitglied: bastla
11.12.2008 um 16:27 Uhr
Hallo barkingdog!

Mach es doch einfach so:
for /f "tokens=1-10 delims=," %%a in ('findstr /c:", 100" "%CTILOG%"^|findstr /c:",ein"') do
Damit werden zunächst alle Zeilen, welche ", 100" enthalten, herausgefiltert. Dieses Zwischenergebnis wird dann nochmals (auf das Vorhandensein von ",ein") untersucht.

Grüße
bastla
Bitte warten ..
Mitglied: barkingdog
12.12.2008 um 10:15 Uhr
Hallo bastla!

Ich wollte dir nochmals danken für deine Hilfe, es läuft jetzt so wie ich mir das vorgestellt habe. Wirklich schön was man mit so einfachen Mitteln umsetzen kann.

Grüße
barkingdog
Bitte warten ..
Ähnliche Inhalte
Windows Server
Kopiervorgänge überwachen
Frage von john-doeWindows Server6 Kommentare

Hallo Zusammen Kennt jemand eine Software die Kopiervorgänge überwachen kann und bei einer größeren Datenbewegung Alarm schlägt. Die Software ...

Windows Server
Falsche Login-Daten überwachen
gelöst Frage von hesperWindows Server2 Kommentare

Hallo zusammen! Ich hab hier ein kleines Problem. AD läuft auf Windows Server 2012 R2. User in der Außenstelle ...

Firewall
Pfsense traffic überwachen
Frage von thomasreischerFirewall5 Kommentare

Hallo zusammen, Ich suche momentan noch nach einer guten Lösung um mit pfsense den Traffic zu überwachen. Ntopng wäre ...

Exchange Server
Exchange Überwachen mit powershell
gelöst Frage von digiunsoExchange Server6 Kommentare

Hallo, ich habe folgendes Anliegen: Von einem Kunden stürzen die Exchangedienste ab. Um besser nach Ursachen zu forschen soll ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 19 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 22 StundenAdministrator.de Feedback16 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...