crashoversteel
Goto Top

Aus Liste lesen

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"

Content-Key: 28205

Url: https://administrator.de/contentid/28205

Printed on: April 19, 2024 at 02:04 o'clock

Member: ITwissen
ITwissen Mar 15, 2006 at 10:20:57 (UTC)
Goto Top
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.
Member: CrashOversteel
CrashOversteel Mar 15, 2006 at 10:30:48 (UTC)
Goto Top
Ja aber jeder Rechner soll angepingt werden und dann in die Liste eingetragen werden wenn keine Antwort kommt.
Member: ITwissen
ITwissen Mar 15, 2006 at 11:05:07 (UTC)
Goto Top
Ja, deshlab muss das ping in die For-Schleife rein.
Member: Biber
Biber Mar 15, 2006 at 12:03:26 (UTC)
Goto Top
Moin, CrashOversteel,

ITWissen meint so:

@echo off
for /f %%i in (C:\list.csv) do (
)

-oder- in einer Zeile:


HTH Biber
Member: ITwissen
ITwissen Mar 15, 2006 at 12:21:41 (UTC)
Goto Top
Genau, ich habe aber gehofft er kommt noch mit eigenem Nachdenken drauf face-smile
Member: Biber
Biber Mar 15, 2006 at 12:55:27 (UTC)
Goto Top
*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... face-wink

Grüße
Biber
Member: CrashOversteel
CrashOversteel Mar 15, 2006 at 13:02:04 (UTC)
Goto Top
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.
Member: Biber
Biber Mar 15, 2006 at 13:41:31 (UTC)
Goto Top
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
Member: CrashOversteel
CrashOversteel Mar 15, 2006 at 14:37:57 (UTC)
Goto Top
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 (


)
Member: Biber
Biber Mar 15, 2006 at 15:00:51 (UTC)
Goto Top
Merkwürdig und bei mir nicht reproduzierbar...

Mein Test am Prompt:
www.webx.de keine Antwort
(localhost dagegen wie erwartet okay...)
echo www.webx.de >x.txt
echo localhost>>x.txt

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
Member: CrashOversteel
CrashOversteel Mar 16, 2006 at 07:21:33 (UTC)
Goto Top
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
Member: CrashOversteel
CrashOversteel Mar 16, 2006 at 07:49:18 (UTC)
Goto Top
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
Member: Biber
Biber Mar 16, 2006 at 09:51:51 (UTC)
Goto Top
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
Member: CrashOversteel
CrashOversteel Mar 16, 2006 at 10:12:38 (UTC)
Goto Top
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
Hotly discussed
AlexWishaHow to set up and configure a Linux GRE tunnelAlexWisha - 3 CommentsjstrickerWIREGUARD VPN ON UDM PRO BEHIND FRITZBOX - HANDSHAKE DID NOT COMPLETEjstricker - 1 CommentDaniEnd of Support dates for Office 2016, 2019 Apps und Productivity ServersDani - 1 Comment