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 Problem mit for - Token falsch befüllt?

Mitglied: christiank

christiank (Level 1) - Jetzt verbinden

16.02.2008, aktualisiert 18:55 Uhr, 3691 Aufrufe, 4 Kommentare

Hier mal die Ausgangslage.

scanlog.txt
01.
hinkelstein [192.168.1.1] 23 (telnet): connection refused
02.
hinkelstein [192.168.1.1] 22 (?) open
03.
hinkelstein [192.168.1.1] 21 (ftp): connection refused
04.
hinkelstein [192.168.1.1] 20 (ftp-data): connection refused
05.
hinkelstein [192.168.1.1] 53 (domain) open
06.
hinkelstein [192.168.1.1] 445 (microsoft-ds) open
07.
hinkelstein [192.168.1.1] 444 (?): connection refused
08.
hinkelstein [192.168.1.1] 443 (https) open
09.
sent 0, rcvd 0
Batch File
01.
@echo off
02.
set file=scanlog.txt
03.
 
04.
FOR /F "tokens=1,2,3,4,5*" %%a in (%file%) do (
05.
	if not %%e=="" (
06.
		if not %%e==open (
07.
			echo Port %%c %%e %%f
08.
			call :closed %%c
09.
		)
10.
	)
11.
)
12.
 
13.
echo Closed ports: %closed%
14.
 
15.
:closed
16.
if defined closed (set closed=%closed% %1) else (set closed=%1)
17.
goto :eof

Ausgabe
01.
Port 23 connection refused
02.
Port 21 connection refused
03.
Port 20 connection refused
04.
Port 444 connection refused
05.
Port rcvd
06.
Closed ports: 23 21 20 444 rcvd
Nun meine Frage:
Wieso kommt in der ausgabe immer "rcvd" vor? In der for schleife wird doch extra abgefragt, ob %%e nicht leer ist.
Kann mir das einer erklären und wie ich das Problem weg bekomme?
Und wo Ich doch schon mit Probemen komme, hat viellcht noch jemand ne Idee wie ich die Ports austeigend dastellen lassen kann?
Also so: Closed ports: 20 21 23 444
und nicht so: Closed ports: 23 21 20 444
Aber erstmal muß das rcvd weg.
Mitglied: miniversum
16.02.2008 um 14:16 Uhr
Weil du dann nichts mit "" vergleichst. Ändere die Bedingung mal so:
if not "%%e"=="" (
oder so:
if "%%e" neq "" (

miniversum
Bitte warten ..
Mitglied: Dani
16.02.2008 um 14:28 Uhr
Hallo,
tausche einfach den Schleifenkörper aus:
01.
...
02.
FOR /F "tokens=1,2,3,4,5*" %%a in ('type "%file%" ^| findstr /i /v "rcvd"') do (
03.
....
Somit werden alle Zeilen berücksichtigt, in denen das Wort "rvcd" nicht vorkommt.

Zur Sortierungwunsch kann ich dir leider nichts sagen...Batch ist eher so nebenher. *g* Dazu gibt es andere hier im Forum.


Grüße
Dani
Bitte warten ..
Mitglied: miniversum
16.02.2008 um 14:30 Uhr
Das mit der Portsortierung sollte so gehen:
01.
@echo off
02.
set file=scanlog.txt
03.
set tempfile="%temp%\sorttemp.txt"
04.
 
05.
if exist %tempfile% del %tempfile%
06.
FOR /F "tokens=1,2,3,4,5*" %%a in (%file%) do (
07.
	if not %%e=="" (
08.
		if not %%e==open (
09.
			echo Port %%c %%e %%f
10.
			echo %%c>>%tempfile%
11.
		)
12.
	)
13.
)
14.
 
15.
set "closed="
16.
FOR /F "delims=" %%i in ('sort %tempfile%') do call set "closed=%%closed%%%%i"
17.
del %tempfile%
18.
 
19.
echo Closed ports: %closed%
Bitte warten ..
Mitglied: christiank
16.02.2008 um 18:55 Uhr
Hat wie immer super geklappt.
Ich bin begeistert.
Bitte warten ..
Ähnliche Inhalte
Administrator.de Feedback
Messagetimestamp falsch?
gelöst Frage von nepixlAdministrator.de Feedback4 Kommentare

Guten Morgen, irgendetwas stimmt mit den Uhrzeiten nicht. Eben eine Message von einem Admin.de-Kollegen erhalten mit dem Timestamp um ...

DNS
DNS Antworten falsch
Frage von MasterSchlumpfDNS12 Kommentare

Hallo Community, ich habe ein schwieriges DNS-Problem. Wenn ich einen PC mit Namen PC-Meyer anpinge erhalte ich eine Antwort ...

Webbrowser
Hyperlink arbeitet falsch
Frage von 129914Webbrowser16 Kommentare

Hallo, Mein Betr.system ist Win.7 Ich habe eine PPT mit PowerPoint mit Office 2003 erstellt und als PPS abgespeichert. ...

Batch & Shell
Powershell rechnet falsch?
gelöst Frage von functionstrutBatch & Shell3 Kommentare

Hallo, ich bin schon seit Stunden am verzweifeln :-( ich habe mir ein Script geschrieben was von mehreren Festplatten ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 12 StundeniOS

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 1 TagiOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 3 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 3 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Server 2010: Keine Eingehenden E-MAils
gelöst Frage von gabeBUExchange Server17 Kommentare

Hallo Zusammen Ich habe das kurzen auf dem Exchange 2010 Server das Problem, dass ich keine externen E-Mails mehr ...

Server
Server in zwei verschiedene Netzwerke einbinden
gelöst Frage von BennyFServer13 Kommentare

Hallo zusammen, bei uns im Haus sind im Erdgeschoss die Geschäftsräume und ab dem 1. Stock sind unsere privaten ...

Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
Frage von frosch2Windows Netzwerk13 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

Netzwerkmanagement
Ticketsystem für eine Kommune gesucht
gelöst Frage von akovisNetzwerkmanagement11 Kommentare

Ich suche aktuell ein Ticketsystem für eine Kleinstadt von 13000 Einwaohnern. Das System soll alle Anfragen aus verschiedenen Kanälen ...