o.cobi Geschrieben 28. Januar 2013 Teilen Geschrieben 28. Januar 2013 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 ___________________________________________ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
uenetz Geschrieben 28. Januar 2013 Teilen Geschrieben 28. Januar 2013 Ich denke eine FOR - Schleife wäre das, was Du benötigst Hier der Link mit den dazu gehörigen Informationen: Batch files - The FOR command: Windows NT 4/Windows 2000 Syntax. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
casio Geschrieben 8. Februar 2013 Teilen Geschrieben 8. Februar 2013 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.