tommy-tyrol
Goto Top

In einer verschachtelten For-Schleife Ping info auslesen

Hallo allerseits,

quäle mich seit einiger Zeit mit folgendem Problem.

In einer Textdatei (ipfil.txt) stehen IP-Adressen von rechnern welche online sind. ich möchte dazu die Computername haben diese Anzeigen und in einer
Datei abspeichern sowie noch einen Prozess am rechner beenden und habe (ohnehin schon mit viel Hilfe und nachlesen von hier folgendes zusammengebastelt:

setlocal EnableDelayedExpansion
FOR /F %%a in (ipfil.txt) DO (
SET IPNEU=%%a
FOR /F "eol=[ tokens=5* delims= " %%x in ('ping -a -n 1 !IPNEU! !^|find "[!IPNEU!]"') do (
echo %%x !IPNEU! ist nicht abgeschaltet!
echo %time% %%x !IPNEU! ist nicht abgeschaltet!>>irgendeinetextdatei.txt
REM pskill \\!IPNEU! ...... (iregendeine Anwendung)
)
)

:EOF

Was hab ich übersehen oder was mache ich hier schon wieder verkehrt?

Danke im Voraus für die Hilfe

Lg
Tommy

Content-ID: 256559

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

Ausgedruckt am: 17.11.2024 um 13:11 Uhr

bastla
Lösung bastla 03.12.2014, aktualisiert am 04.12.2014 um 09:41:43 Uhr
Goto Top
Hallo Tommy-Tyrol!

Du beschreibst zwar nicht, was eigentlich Dein Problem ist, aber: Die Zuweisung an die Variable IPNEU könntest Du einsparen - und wenn Du nur den Computernamen benötigst, sähe das eher so aus:
setlocal EnableDelayedExpansion
FOR /F %%a in (ipfil.txt) DO (
    FOR /F "tokens=5" %%x in ('ping -a -n 1 %%a^|find "[%%a]"') do (  
        echo %%x %%a ist nicht abgeschaltet!
        >>irgendeinetextdatei.txt echo !time! %%x %%a ist nicht abgeschaltet!
        REM pskill \\%%a ...... (irgendeine Anwendung)
    )
)
Grüße
bastla

[Edit] rubbermans Hinweis umgesetzt. [/Edit]
rubberman
rubberman 03.12.2014 aktualisiert um 20:19:45 Uhr
Goto Top
Hallo Tommy und bastla.

Auf den ersten Blick würde mich ja das überflüssige Ausrufezeichen vor dem Caret stören. In bastlas Code wird das einzeln stehende durch das EnableDelayedExpansion vermutlich einfach negiert und es könnte trotzdem funktionieren...

Grüße
rubberman
bastla
bastla 03.12.2014 um 20:25:30 Uhr
Goto Top
Hallo rubberman!

Danke - die Augen lasen offensichtlich auch immer mehr nach ... face-sad

Ich nehm das Ding mal sicherheitshalber oben raus ...


Grüße
bastla
Tommy-Tyrol
Tommy-Tyrol 04.12.2014 um 09:41:58 Uhr
Goto Top
Hallo bastla,

herzlichen Dank für die prompte und perfekte Hilfe!!!! (und auch einen Dank an rubberman für deinen Scharfblick!

Funktioniert - wie üblich wenn man hier was erfrägt - perfekt und genauso wie ich es mir wünsche!

Der Hintergrund, damit vielleicht das alles was ich da so zusammenbastle verständlicher ist, ist ein Sicherungsbatch, der für all unsere Filialstandorte (26) funktionieren soll und bei dem alles mögliche abgechet werden muss und bei diversen Fehlern (wie eben hier beispielsweise Rechner noch laufen und diverse Programme noch geöffnet sind) die Mitarbeiter informiert werden sollen!

Ich würde ja gern mal - dann wenn das ganze nach meinem Empfinden so läuft wie ich möchte - den ganzen Batch hier rein stellen - und evtl hat jemand die Muse darüber zu schauen - bin sehr überzeugt davon dass ich vieles zu kompliziert und manches verschroben mache,
Aber nevertheless-war so hoffe ich - für den Moment - dies das letzte was ich noch brauchte!

Nochmals D A N K E ! und

beste Grüße
Tommy