Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Per Batch Text auslesen und Verbindung testen?

Frage Entwicklung Batch & Shell

Mitglied: overreaction

overreaction (Level 1) - Jetzt verbinden

15.03.2008, aktualisiert 18.03.2008, 6663 Aufrufe, 12 Kommentare

Hallo Leute!

Ich brauch Hilfe mit deiner Batch-Datei, die ein paar Befehle hintereinander ausführen soll. Den Ablauf habe ich zwar im Kopf, doch ich bin der Syntax nicht so mächtig.

Also das Batch soll folgendes tun:

1. Aus einer vorher erstellen 'iplist.txt' eine IP auslesen
2. Die gerade ausgelesene IP dann als neue setzen:
'netsh interface ip set address name="Local Area Connection" static 10.0.0.10 255.255.255.0 10.0.0.1'

3. Testen ob die neue IP erfolgreich war (z.B. mit 'ping www.google.de')

4. Wenn die Verbindung erfolgreich war -> exit - Und wenn die Verbindung nicht erfolgreich war wieder zu ->Punkt 1 und die nächste IP auf der Liste nehmen



Wäre echt super super nett, wenn mir jemand helfen könnte. Batch-Programierung ist echt nicht meine Welt. Vor allem beim auslesen der IPs aus der Textdatei und beim testen der Verbidung bin ich echt planlos...
Mitglied: -Ohforf
15.03.2008 um 21:42 Uhr
spontan würde mir dazu einfallen

ipconfig /all >> C:\ip.txt

damit leitest du die ausgabe von "ipconfig /all"
in eine datei weiter, von der aus du dann deine idee
weiter umsetzen kannst.
Bitte warten ..
Mitglied: funkmasta2k
15.03.2008 um 22:00 Uhr
@echo off
FOR /f %%f IN (ips.txt) DO (
'netsh interface ip set address name="Local Area Connection" static %%f 255.255.255.0 10.0.0.1'
ping www.google.de
if <erreichbar> goto :EOF
)

Nur die letzte Zeile (Steht nur symbolisch da), da fällt mir nicht viel ein, denn man könnte nun nach Errorleveln gucken,
jedoch sind die total unzuverlässig und je nach OS anders. Da müsste nun jemand einschreiten,
der ne andere Idee hat.
Bitte warten ..
Mitglied: miniversum
16.03.2008 um 10:24 Uhr
@echo off
FOR /f %%f IN (ips.txt) DO (
'netsh interface ip set address
name="Local Area Connection" static
%%f 255.255.255.0 10.0.0.1'
ping www.google.de
if <erreichbar> goto :EOF
)

... da fällt mir nicht viel ein, denn man könnte nun nach Errorleveln gucken, jedoch sind die total unzuverlässig ...
Warum unzuverlässig? Die hängen halt vom jeweiligen Programm ab
... und je nach OS anders.
Klar auf Linux oder Mac geht das so nicht. Das ist bei Batchdateien aber immer so.

Aber ums mal hinzubasteln wie das mit dem
if <erreichbar> goto :EOF
)
gehen kann:
ping /n 1 www.google.de>NUL 2>NUL && goto:eof
Bitte warten ..
Mitglied: overreaction
16.03.2008 um 13:02 Uhr
Hallo Leute!


Das klappt schonmal sehr gut, vielen Dank!

Allerdings habe ich noch was kleines: Wie kann ich in der iplist.txt ein Flag oder so setzen, damit bei einem erneuten Durchlauf bereits getestete IPs nicht mehr verwendet werden? Also so dass die IP-Liste erst wieder von beginn abgearbeitet wird, wenn alle IPs in der Liste durch sind.

Wäre nett, wenn ihr mir da noch Tipps geben könntet.
Bitte warten ..
Mitglied: funkmasta2k
16.03.2008 um 14:07 Uhr
Warum unzuverlässig? Die hängen
halt vom jeweiligen Programm ab
> ... und je nach OS anders.
Klar auf Linux oder Mac geht das so nicht.
Das ist bei Batchdateien aber immer so.
Nein, ich meine dass bei XP Home und XP Prof. unterschiedlich Errorlevel
zustande kommen. Hier im Forum wurde schonmal heiß drüber diskutiert.

Aber ums mal hinzubasteln wie das mit dem
> if <erreichbar> goto :EOF
> )
gehen kann:
> ping /n 1 www.google.de>NUL 2>NUL
&& goto:eof

Könntest Du mir bitte den Teil mit " 2>NUL" erklären?
Würde es gerne nachvollziehen könnne.


@Threadstarter
Hm, beschreib doch mal was genau Du vor hast
Bitte warten ..
Mitglied: overreaction
16.03.2008 um 14:35 Uhr
@Threadstarter
Hm, beschreib doch mal was genau Du vor hast

Nunja, ich habe Kabelinternet und somit eine faktisch gesehen feste IP-Adresse. Manchmal ist es aber vonnöten diese zu wecheln. Habe schon alle anderen Methoden durchprobiert (Modem neustarten, MAC-Adresse ändern, ...) doch bei meinem ISP funktioniert das alles nicht.

Die einzige Möglichkeit, eine andere IP zu bekommen ist das durchprobieren von IP-Adressen aus meiner Range. Allerdings funktioniert etwa nur jede 5te Adresse, darum versuche ich gerade das alles soweit wie möglich zu automatisieren.

Dazu habe ich halt ne iplist.txt mit IPs aus meiner Range. Diese sollen abgearbeitet werden inkl. Verbindungstest.
In einem nächsten Schritt will ich die IP-Liste verkleinern, indem IPs, bei denen der Test fehlgeschlagen ist, aus der Liste gelöscht werden.
Am ende habe ich dann eine schlanke Liste an funktionierenden IPs, die ich bei bedarf beziehen kann.

Gut nicht? ^^
Bitte warten ..
Mitglied: miniversum
16.03.2008 um 16:48 Uhr
Nein, ich meine dass bei XP Home und XP Prof. unterschiedlich Errorlevel zustande kommen. Hier im Forum wurde schonmal heiß drüber diskutiert.
Die Diskusion hab ich glaube ich ncith mitbekommen. Um welchen Befehl ging es da den konkret. Eigentlich wird ja meistens bei erfolg (also keinem Fehler) eine 0 zurückgegeben und sonst ein Wert >0. Die Verwendete Mimik mit den && bzw. || macht ja nur ne Kontrolle ob 0 oder ungleich 0. Von daher sollte es denke ich meistens gehen.


Könntest Du mir bitte den Teil mit
" 2>NUL" erklären?
Würde es gerne nachvollziehen
könnne.
Das ist eigentlich ganz einfach. Programme habe zwei mögliche "Kanäle" über die sie Ausgaben machen können. In C++ gibts dafür z.B. die Befehle cout und cerr. EIGENTLICH wird immer die Standardausgabe über Kanal 1 ausgegeben und Fehlermeldungen über Kanal 2 (hier im Forum gabs auch mal das Problem das das ncith funktioniert weils bei java anders Programiert ist).
Wenn ich hinter einen Befehl nun >NUL schreibe wird die Standardausgabe nach NUL, also ins Nirvana umgeleitet. >NUL leitet also Kanal1 um. Man könnte auch schreiben 1>NUL. Die Wirkung wäre die gleiche. Mit 2>NUL wird Kanal2, also die Fehlermeldungen umgeleitet. Auf diese Art kann man also verschiedene Dinge kombinieren.
befehl 1>NUL & REM Unterdrückung der Standardausgabe, Fehlermeldungen werden angezeigt.
befehl 2>NUL & REM Standardausgabe wird angezeigt, Fehlermeldungen werden unterdrückt.
befehl >ausgabe.txt 2>fehler.txt & REM Umleitung der Standardausgabe in Ausgabe.txt, Fehlermeldungen werden in fehler.txt geschrieben.
Ich hoffe das war einigermaßen verständlich erklärt.

miniversum
Bitte warten ..
Mitglied: funkmasta2k
16.03.2008 um 21:45 Uhr
@overreaction
Würde es dann nicht reichen, dass die IPs die nicht funktionieren gelöscht werden,
oder die IPs die "funktionabel" sind in eine neue Datei gespeichert werden?

@miniversum
Super erklärt, besten Dank!
Bitte warten ..
Mitglied: overreaction
16.03.2008 um 22:41 Uhr
@overreaction
Würde es dann nicht reichen, dass die
IPs die nicht funktionieren gelöscht
werden,
oder die IPs die "funktionabel"
sind in eine neue Datei gespeichert werden?

@miniversum
Super erklärt, besten Dank!
Naja, prinzipiell ist egal, wie das gehandelt wird. Mein aktuelles Problem ist halt, dass die Liste immer wieder von Beginn abgearbeitet wird. Ideal wäre, wenn ich die letzte 'gute' IP irgendwie markieren könnte, und beim nächsten Ausführen der Datei wieder dort wieder fortzusetzen.
Hat jemand eine Idee, wie ich das realisieren könnte?
Bitte warten ..
Mitglied: funkmasta2k
16.03.2008 um 22:44 Uhr
Was ich aber bei Dir nicht ganz verstehe, können die IPs die bis dato komplett gelöscht werden,
oder möchtest Du sie nochmal "irgendwann" wieder von vorne abchecken?
Bitte warten ..
Mitglied: overreaction
17.03.2008 um 08:36 Uhr
Was ich aber bei Dir nicht ganz verstehe,
können die IPs die bis dato komplett
gelöscht werden,
oder möchtest Du sie nochmal
"irgendwann" wieder von vorne
abchecken?
Ja bisher werden diese ja nach einmaligem gebrauch gelöscht. Aber ich will diese wieder von Anfang abarbeiten, sobald das Ende der Liste erreich wurde.
Bitte warten ..
Mitglied: funkmasta2k
18.03.2008 um 14:45 Uhr
Du, wenn Du den Ping mit "/n 1" ausführst, geht das recht zügig. Oder willst Du 10.000 IP-Adressen ausprobieren? Also mir würde spontan nichts dazu einfallen.
Bitte warten ..
Ähnliche Inhalte
Router & Routing
gelöst Neuer Router - Verbindung testen (5)

Frage von maisenkaiser zum Thema Router & Routing ...

Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
gelöst Fenstertitel von anderen Tasks per batch auslesen (3)

Frage von NetMare zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(6)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

LAN, WAN, Wireless

Neue Cisco Catalyst-Serie 9000

Information von Kuemmel zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows 10
Netzwerkkarte schaltet sich erst nach dem Logon ein (23)

Frage von DerWoWusste zum Thema Windows 10 ...

Windows Server
Seit IP Umstellung DC DNS Fehler (18)

Frage von Yaimael zum Thema Windows Server ...

Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (16)

Frage von Spitzbube zum Thema Netzwerke ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (15)

Frage von Voiper zum Thema Weiterbildung ...