Zum Inhalt springen

batch zum für Ping und Copy


Empfohlene Beiträge

Hallo Leute,

hoffe ich bin hier richtig mit dem Thema.

Ich habe eine .txt Liste mit ca. 170 Computernamen.

Diese Computer sollen zunächst angepingt werden.

Ist der ping erfolgreich, soll eine bestimmte datei (immer die gleiche datei, immer im gleichen pfad)

in einen bestimmten (ebenfalls immer der gleiche) pfad kopiert werden.

mein Pseudocode würde so aussehen:

____________________________________

Schritt 1

öffne Liste.txt

Schritt 2

Zähle alle Zeilen von Liste.txt

Anzahl in "Serveranzahl" packen

Schritt 3

Zählschleife

i = 1 (bzw. Inhalt von Zeile), solange i < "Serveranzahl", i = i+1

ping i

wenn

i = errorlevel=1 (erreichbar)

dann

kopiere testdatei nach i\C$

wenn

i errorlevel=1 (nicht erreichbar)

schreibe i in Fehlerdatei.txt

___________________________________________

Er soll also die Liste.txt zeilenweise durchgehen, jeder Zeile den Namen entnehmen

diesen Namen anpingen, und wenn er erreichbar ist die Datei kopieren.

Wenn der selbige Name nicht erreichbar ist, soll er ihn in eine Fehlerlog datei schreiben.

Ich wüsste schon das ganze zu realisieren, nur leider schaffe ich es nur, dass

immer nur der erste Computer aus der Liste genommen wird..

Krieg die schleife nicht hin, in dem die Liste durchgegangen wird.

Hoffe einer kann mir da helfen...

Hier mein bisheriger Code:

___________________________________________

@echo off

set /p Name=<C:\Users\user1\Desktop\Liste.txt

ping %Name% -n 2 -w 1000 -l 2000

if %errorlevel%==1 echo %Name%>C:\Users\user1\Desktop\fehlerliste.txt

if %errorlevel%==0 xcopy C:\Users\user1\Desktop\testdatei.txt \\%Name%\C$

pause>nul

___________________________________________

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Hab mal was auf die schnelle geschrieben um IPs aus einer Liste zu lesen und den Status abzufragen. Denn Rest muss du ergänzen!

X.BAT

@echo off


@setlocal


cls


for /f %%f in ('type liste.txt') do (

 call y.bat %%f

)


@endlocal
Y.BAT
@echo off


@setlocal


set ip=%1

ping -n 1 %ip% | find "TTL" > NUL

if not errorlevel 1 set error=on

if errorlevel 1 set error=off

echo Result: %ip% : %error%

if /I "%error%" == "on" (

 ECHO "foo 1"

) else (

 ECHO "foo 2"

)


@endlocal

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...