Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

___________________________________________

  • 2 Wochen später...
Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...