Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Aus Liste lesen

Frage Entwicklung Batch & Shell

Mitglied: CrashOversteel

CrashOversteel (Level 1) - Jetzt verbinden

15.03.2006, aktualisiert 16.03.2006, 5749 Aufrufe, 14 Kommentare

Aus einer Rechnerliste lesen um diese einzeln Anzupingen

Hallo,
ich habe hier eine Liste mit bsw. 300 Rechnern. Jeder Rechner der nicht erreichbar ist soll in die ip.csv eingetragen werden. Bei mir hat das ein mal funktioniert gehabt (bevor ich das nochmal verändert habe), aber nur für den letzten Eintrag in der Liste.


@echo off

for /f %%i in "C:\list.csv" do set "host1=%%i"

ping -n 1 %host1% >nul || echo %host1% keine Antwort >> "C:\ip.csv"
Mitglied: ITwissen
15.03.2006 um 11:20 Uhr
Klar.

Die For-Schleife laeuft durch bis zum letzten Host. Erst dann kommt ein Ping an den letzten Host. Oder anderst ausgedrueckt, das Ping ist ausserhalb der For-Schleife.
Bitte warten ..
Mitglied: CrashOversteel
15.03.2006 um 11:30 Uhr
Ja aber jeder Rechner soll angepingt werden und dann in die Liste eingetragen werden wenn keine Antwort kommt.
Bitte warten ..
Mitglied: ITwissen
15.03.2006 um 12:05 Uhr
Ja, deshlab muss das ping in die For-Schleife rein.
Bitte warten ..
Mitglied: Biber
15.03.2006 um 13:03 Uhr
Moin, CrashOversteel,

ITWissen meint so:

@echo off
for /f %%i in (C:\list.csv) do (
ping -n 1 %%i >nul || echo %%i keine Antwort >> "C:\ip.csv"
)

-oder- in einer Zeile:

@for /f %%i in (C:\list.csv) do (@ping -n 1 %%i >nul ||@echo %%i keine Antwort>>C:\ip.csv)

HTH Biber
Bitte warten ..
Mitglied: ITwissen
15.03.2006 um 13:21 Uhr
Genau, ich habe aber gehofft er kommt noch mit eigenem Nachdenken drauf
Bitte warten ..
Mitglied: Biber
15.03.2006 um 13:55 Uhr
*rotwerd*
...war ich wieder zu ungeduldig?

Wir Bremer sagen immer "Wir essen zeitig..", wenn wir das Gefühl haben, etwas dauert länger als eigentlich nötig...

Werde mich bemühen, geduldiger zu werden...

Grüße
Biber
Bitte warten ..
Mitglied: CrashOversteel
15.03.2006 um 14:02 Uhr
Na verstanden hab ich das schon, aber funktionieren tut es net so richtig. In der Eingabekonsole erscheint nach kurzer Arbeitszeit "The system cannot find the file and."
Und in meine Liste wird eingetragen:
1Zeile: Bad keine Antwort
2Zeile: Bad keine Antwort
3Zeile: Verbindung keine Antwort
4Zeile: *TEST_Ende* keine Antwort

In meiner Rechnerliste stehen zur Zeit 6 Rechner, aber anstatt die anzupingen nimmt er Bad, Bad, Verbindung, *TEST_Ende*, pingt die an und trägt die in meine Liste ein.
Bitte warten ..
Mitglied: Biber
15.03.2006 um 14:41 Uhr
Mmmh,
dann poste doch bitte mal Deine Input-CSV-Datei (c:\list.csv).
Dann sieht die anders aus als sie die FOR..IN..DO-Anweisung verarbeiten kann.

Gruß Biber
Bitte warten ..
Mitglied: CrashOversteel
15.03.2006 um 15:37 Uhr
Daran sollte es net liegen, denn ich habs auch schon mit ner txt datei versucht wo die 6 Rechner drin standen. Da kam das selbe raus.
So sieht mein Programm nu aus.

@echo off

for /f %%i IN (C:\liste.txt) do (

ping -n 1 %%i >nul || echo %%i keine Antwort >> "C:\ip.csv"

)
Bitte warten ..
Mitglied: Biber
15.03.2006 um 16:00 Uhr
Merkwürdig und bei mir nicht reproduzierbar...

Mein Test am Prompt:
>for %i in (www.webx.de localhost) do @Ping -n 1 %i >nul || @echo %i keine Antwort
www.webx.de keine Antwort
.....(localhost dagegen wie erwartet okay...)
>echo www.webx.de >x.txt
>echo localhost>>x.txt

>for /f %i in (x.txt) do @Ping -n 1 %i >nul || @echo %i keine Antwort
www.webx.de keine Antwort
.......(auch okay)

Also wo kommt bei Dir das "Bad " her?

Doch hoffentlich nicht von einer Meldung "Bad command or filename", weil er die Ping.exe nicht findet???

Oder hast Du noch ein älteres Windows, dass den Schalter "/F" bei der FOR..IN.DO-Anweisung nicht versteht?

Gruß
Biber
Bitte warten ..
Mitglied: CrashOversteel
16.03.2006 um 08:21 Uhr
Ich hab Win XP Pro und kann auch anpingen. In einer anderen Batchdatei hat des auch einwandfrei funktioniert. Wenn ich das wüsste wo das Bad her kommt oder das Verbindung oder Test_Ende, davon steht nix in meinem Programm.

Gruß
CrashOversteel
Bitte warten ..
Mitglied: CrashOversteel
16.03.2006 um 08:49 Uhr
Ich hatte die ganze Zeit ja längere Pfade und das nicht als wichtig empfunden und deswegen auch nicht hier mit reingeschríeben. Mir hat ein Kollege einen Tipp gegeben, ich solle einfach mal von c: direkt aus das ganze ausführen und plötzlich funktioniert es auch, trotzdem noch danke für eure anderen Tips.

Gruß CrashOversteel
Bitte warten ..
Mitglied: Biber
16.03.2006 um 10:51 Uhr
Moin CrashOversteel,

dann nimm doch bitte mal das ">nul" hinter dem "ping..." raus oder lass es statt ins Nirwana auch in die c:\Ip.csv schreiben. Also statt ">nul" ein ">>c:\ip.csv"

Ein Fehler in einem Batch-Zweizeiler sollte sich erfahrungsgemäß finden lassen...

Gruß Biber
Bitte warten ..
Mitglied: CrashOversteel
16.03.2006 um 11:12 Uhr
Guck mal ein Post vor dir. Da schrieb ich das
[Quote]Ich hatte die ganze Zeit ja längere Pfade und das nicht als wichtig empfunden und deswegen auch nicht hier mit reingeschríeben. Mir hat ein Kollege einen Tipp gegeben, ich solle einfach mal von c: direkt aus das ganze ausführen und plötzlich funktioniert es auch, trotzdem noch danke für eure anderen Tips.
[/Quote]
Danke nochmal
Gruß CrashOversteel
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Netzwerk
gelöst Excel Liste soll Partnerfirma zugänglich gemacht werden (3)

Frage von Knorkator zum Thema Windows Netzwerk ...

Batch & Shell
XML nach Liste mit Werten durchsuchen (12)

Frage von bocker zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...