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

Variable aus Schleife

Frage Entwicklung Batch & Shell

Mitglied: sinsizer

sinsizer (Level 1) - Jetzt verbinden

13.10.2011, aktualisiert 14.10.2011, 2342 Aufrufe, 5 Kommentare

Hallo, erstmal hat mir das Forum bis jetzt sehr geholfen, unglaublich viele und gute Informationen.
Allerdings habe ich ein kleines Problem wo ich einfach nicht weiter komme.

01.
for /L %%i in (1,1,%anzahl%) do set /p url=URL %%i:& echo !url! >> temp1.txt & ping -n 1 !url! >> temp.txt 
02.
for /F "tokens=3,9 delims==<: " %%f in ('findstr "TTL" temp.txt') do if %%g LSS 80 (echo %%f Unix/Linux >> scan.txt & echo. >> scan.txt) else (echo %%f Windows >> scan.txt & echo. >> scan.txt)
Ich möchte in die scan.txt die vom user bestimmten URLs vor oder über den entsprechenden IPs ausgeben.

Probleme:
1. Die Variable url befindet sich in einer Schleife, die kann ich nicht nutzen. (wird ja nur der letzte wert gespeichert)
2. habe die urls in eine extra Datei geschrieben um sie von dort einzufügen, allerdings weiß ich nicht wie ich die einzelnen Zeilen auslesen und zuordnen kann.
3. Die for /F in der for /L Schleife führt zu einer steigenden Wiederholung der Ausgabe in der scan.txt. Geht also auch nicht.
4. Versuche ich in der schleife for /F den entsprechenden token aus einer anderen Zeile der temp.txt auszulesen wird der natürlich aus beiden Zeilen gelesen. (3,9 sind in der selben Zeile)

Jetzt weiß ich wie es nicht geht

Wäre toll wenn mir da jemand einen Tip oder eine Lösung geben kann.
Gerne auch zu einer besseren Formatierung oder anderer Lösungsweg.

Vielen Dank.
Mitglied: Skyemugen
13.10.2011, aktualisiert 27.10.2011
Aloha,

in etwa so (?)

01.
@echo off & setlocal enabledelayedexpansion 
02.
set /a "anzahl=2" 
03.
for /L %%i in (1,1,%anzahl%) do ( 
04.
	set /p url=URL %%i: 
05.
	for /F "tokens=3,9 delims==^<: " %%f in ('ping -n 1 !url!^|findstr "TTL"') do ( 
06.
		if %%g LSS 80 ( 
07.
		>>scan.txt (echo !url! 
08.
				echo %%f Unix/Linux) 
09.
		) else ( 
10.
		>>scan.txt (echo !url! 
11.
				echo %%f Windows 
12.
				echo.) 
13.
14.
15.
16.
pause
greetz André

P.S. Frühstück!
Bitte warten ..
Mitglied: sinsizer
13.10.2011 um 15:57 Uhr
Super, Danke für die schnelle Antwort.

Genau so hab ich mir das vorgestellt.
Leider wäre ich garnicht auf die Idee gekommen die Schleife so aufzubauen.
Wusste z.b. nicht das ">>scan.txt" auch davor stehen kann.


Da muss ich wohl noch was üben.
Bitte warten ..
Mitglied: sinsizer
14.10.2011 um 09:45 Uhr
Sorry, aber ich muss nochmal Fragen.

Wenn ich jetzt "ping -a" benutze und den Hostnamen noch ausgeben will, liegt der in einer anderen Zeile so das ich nicht einzeln ran komme.
So siehts bis jetzt aus.
01.
for /L %%i in (%start%,1,%ende%) do ( 
02.
	for /F "tokens=5" %%f in ('ping -a -n 1 %IP%.%%i ^>temp.txt ^& findstr "TTL [" temp.txt') do ( 
03.
		for /F "tokens=3,7,9 delims==<: " %%a in ('findstr "TTL" temp.txt') do ( 
04.
			if %%c LSS 35 (  
05.
						>>scan2.txt (echo %%f Zeit=%%b %%a Windows95/WindowsNT)  
06.
									echo. >> scan2.txt
Habe so leider bei jedem Durchlauf eine überflüssige Zeile drin.
Bitte warten ..
Mitglied: Skyemugen
14.10.2011 um 10:23 Uhr
Aloha,

sorry aber ich habe, ehrlich gesagt, heute keine Lust mich in dein Chaos hineinzudenken, zumal du wieder mit temp.txt arbeitest und teilweise falscher for-Zusammenstellung, dass ich schon nicht mehr blicke welche Werte du eigentlich ausgeben haben willst.

Also mach' es uns beiden doch leichter: Wie ich vermute, ist das letzter für das interne Netzwerk(?), welche Werte / Informationen willst du aus dem ping ausgegeben wissen? Denn Zeile 02 z.B. gibt 32 aus, ob du das so willst ... (?)

greetz André

egal, ich werf' dir jetzt einfach mal etwas hin ...

01.
@echo off & setlocal 
02.
set /a "start=10" 
03.
set /a "ende=15" 
04.
set "IP=192.168.100" 
05.
for /L %%i in (%start%,1,%ende%) do ( 
06.
	for /f "tokens=3,5,7,9 delims==:^< " %%a in ('ping -a -n 1 %IP%.%%i^|findstr "TTL"') do ( 
07.
		if %%d LSS 35 >>scan.txt (echo %%a Bytes=%%b Zeit=%%c Windows95/WindowsNT && echo.)		 
08.
09.
10.
11.
pause
Bitte warten ..
Mitglied: sinsizer
14.10.2011 um 12:14 Uhr
Kein Problem, verstehe mich manchmal selber nicht.

Das Ding war/ist das der Hostname, der bei "ping -a" vor der IP ausgegeben wird, in einer anderen Zeile steht als der Rest.

Habs jetzt so gelöst:
01.
(findstr  /B /V "Zeit" scan2.txt) >> log2.txt
Ist zwar ziemlich "unsauber" da ich in 2 extra Dateien schreibe, die wieder gelöscht werden, aber solange kein Hostname mit "Zeit" beginnt funktionierts.

Zu deinen Fragen: Ja, ist fürs interne. Der Wert ist so gewollt um grob Rückschlüsse auf das verwendete OS ziehen zu können.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Weitergabe von Variablen in for-Schleifen
Frage von MFJustBatch & Shell1 Kommentar

Hallo, Ich versuche HTML Dateien in PDFs umzuwandeln (dies funktioniert) und diese dabei nach Teilen dieser HTML Datei umzubenennen ...

Batch & Shell
Batch Variablen in for-Schleife
gelöst Frage von Dacki1107Batch & Shell2 Kommentare

Hallo Liebe Administratoren Ich kämpfe mit einem kleinen Problemchen und hoffe das Ihr mir helfen könnt. Ich versuche eine ...

Batch & Shell
For schleife mit variablem inhalt
gelöst Frage von Tealk144Batch & Shell5 Kommentare

Hallo zusammen, kann ich in einer Batch Datei folgendes schreiben? for Variable in Satz do ( if exist %buchstabe%: ...

Batch & Shell
For-Schleife und Variablen durch nummerieren
gelöst Frage von NagusBatch & Shell18 Kommentare

Moin, ich stehe mal wieder auf dem Schlauch und sehe die Lösung nicht so sieht grob der code aus. ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 4 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 11 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 13 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 16 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...