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

Frage Entwicklung Batch & Shell

GELÖST

Probleme mit Variablen und FOR Schleife

Mitglied: maho1987

maho1987 (Level 1) - Jetzt verbinden

11.11.2010, aktualisiert 17:36 Uhr, 4024 Aufrufe, 5 Kommentare

Ich bin gerade für die Arbeit so eine Art IP-Scanner am bauen, jedoch habe ich Probleme mit Variablen in einer FOR Schleife.

Hallo Zusammen,

Zurzeit schreibe ich für die Arbeit so eine Art IP-Scanner, jedoch klappt dieser nicht ganz da die Batch in einer FOR \L Schleife nicht ins die Variablen %status% und %name% schreibt.
Sobald ich mir diese per ECHO ausgeben lasse, steht dort nichts drin. Könnt Ihr mir vlt helfen

01.
@echo off & setlocal EnableDelayedExpansion 
02.
 
03.
ECHO Bitte IP eingeben: ( XXX.XXX.XXX ) 
04.
SET /p ip= 
05.
 
06.
 
07.
ECHO Bitte Anzahl an Rechner eingeben: 
08.
SET /p anzahl= 
09.
 
10.
FOR /L %%N IN (1, 1, %anzahl%) DO ( 
11.
 
12.
PING -a %ip%.%%N > tmp_%ip%.%%N.txt 
13.
 
14.
FIND "TTL" < tmp_%ip%.%%N.txt && SET status=online 
15.
FIND "TTL" < tmp_%ip%.%%N.txt || SET status=offline 
16.
FIND "TTL" < tmp_%ip%.%%N.txt && for /f "tokens=2 delims= " %%i in ('findstr "mit" tmp_%ip%.%%N.txt') do SET nanme=%%i 
17.
 
18.
ECHO %ip%.%%N;%status%;%name% >> ip.txt 
19.
 
20.
21.
 
22.
pause
Mitglied: bastla
11.11.2010 um 18:34 Uhr
Hallo maho1987 und willkommen im Forum!

Du hast ja mit "setlocal EnableDelayedExpansion" schon gut begonnen - dann nur noch konsequent bleiben und die damit geschaffene Möglichkeit auch verwenden:
(ECHO %ip%.%%N;!status!;!name!)>>ip.txt
Die Klammern sollen übrigens nur das Ausgeben eines Leerzeichens nach dem Namen verhindern - wenn's nicht stört kannst Du sie auch weg lassen, bzw genügt in diesem Fall ziemlich sicher (Du wirst vermutlich keine Rechnernamen haben, die nur aus einer Ziffer bestehen) auch:
ECHO %ip%.%%N;!status!;!name!>>ip.txt
Grüße
bastla
Bitte warten ..
Mitglied: 60730
12.11.2010 um 00:04 Uhr
Servus und auch von mir ein willkommen..

Hallo zusammen; Codeblöcke; richtige Rubrik gefunden, ja ist denn schon wieder Weihnachten?

Ein/zwei/drei kleine Tipps:#

  • Zeile 3 & 4 kannst du zusammenfassen:
SET /p ip=Bitte IP eingeben: ( XXX.XXX.XXX )

  • Das Loch in Zeile 4/5 mit sowas füllen:
echo %Iip% |findstr "[1-9][1-9][1-9].[1-9][1-9][1-9].[1-9][1-9][1-9]\" && echo Eingabe scheint korrekt zu sein ||goto start
(das Sprungziel start muß dann natürlich dazu und wenn du mal ein 10.x.x. Netz abfragen willst - müßtest du das anpassen)

  • Zeile 6/7 siehe 3&4 obwohl das irreführend ist, denn es geht davon aus, das 1 nicht das GW ist und das jeder Rechner immer eine Folgeip bekommt und keine Lücken da sind.
SET /p anzahl=wieviele Adressen sollen durchsucht werden weit soll das Netz durchsucht werden?

  • Und auch diese freigewordene Zeile kannst du so sinnvoll füllen:
set /a anzahl=%anzahl% && echo Counter endet bei %anzahl% || echo den Wert %anzahl% akzeptiere ich nicht

Gruß
Bitte warten ..
Mitglied: bastla
12.11.2010 um 00:30 Uhr
@T-Mo
echo %Iip% |findstr "[1-9][1-9][1-9].[1-9][1-9][1-9].[1-9][1-9][1-9]\" && echo Eingabe scheint korrekt zu sein ||goto start
schränkt allerdings etwas stark ein (nur jeweils 3-stellige Werte ohne Nullen) - etwas weniger restriktiv (aber dafür tatsächlich mit Prüfung auf Trennung durch Punkte):
echo %ip% |findstr "[1-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*">nul && echo Eingabe scheint korrekt zu sein ||goto start
Oder so:
01.
set "OK=" 
02.
for /f "tokens=1-3 delims=." %%a in ("%ip%") do if not "%%c"=="" if %%a leq 223 if %%b leq 255 if %%c leq 255 set "OK=True" 
03.
if not defined OK goto :start
Grüße
bastla
Bitte warten ..
Mitglied: maho1987
12.11.2010 um 10:03 Uhr
Danke an Alle.
Mit den Änderungen funktioniert mein Tool endlich.
Werde das Forum weiterempfehlen und versuchen hier aktiv zu sein.
Bis dann mal
Bitte warten ..
Mitglied: 60730
12.11.2010 um 10:53 Uhr
[OT]
@ Bastla - das beweist wieder mal, du denkst um 0.30 weiter, als ich um 0.04
Die 0-9 wollte ich zwar auch ab der 2. ziffer der Oktette reinmachen, hatte aber einen FaulheitsC&Pfehler, aber so ist es viel hybscher
[/OT]

@ Maho: das ist schön, geben und nehmen

Gruß
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
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall9 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen7 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...