Ich versuche, einen automatisierten Ping-Test zu erstellen, der eine .cmd-Datei verwendet, die die IP-Adressen aus einer Datei namens Computer abruft. Es sieht so aus, als ob es größtenteils funktioniert, aber alle Ping-Tests nach dem ersten kommen wieder negativ oder tot.
Automatisierter Ping-Test-Fehler
@echo off
set fnm=C:\Users\jelliott\Desktop\computers.txt
set lnm=C:\Users\jelliott\Desktop\results.txt
if exist %fnm% goto Label1
echo.
echo Cannot find %fnm%
echo.
Pause
goto :eof
:Label1
echo PingTest STARTED on %date% at %time% > %lnm%
echo ================================================= >> %lnm%
echo.
for /f %%i in (%fnm%) do call :Sub %%i
echo.
echo ================================================= >> %lnm%
echo PingTest ENDED on %date% at %time% >> %lnm%
echo ... now exiting
goto :eof
:Sub
echo Testing %1
set state=alive
ping -n 1 %1
if errorlevel 1 set state=dead
echo %1 is %state% >> %lnm%
Werfen Sie einen Blick auf dieses Skript: [Befehl auf der Basis der IP-Adresse aus der Textdatei ausführen] (http://stackoverflow.com/questions/41102657/run-command-based-on-ip-address-from-text- Datei? answertab = active # tab-top) – Hackoo
Dumme Frage, aber ... von Ihrer Ausgabe lesen Sie Maschinennamen nicht IP-Adressen. Haben Sie überprüft, ob die Namensauflösung funktioniert? –
Erster Schritt zum Batch-Debugging: ** Entfernen Sie "@echo off" von der Spitze Ihrer Datei und lesen Sie die Fehler. ** Diese Zeile unterdrückt die Debugging-Informationen, und Sie bitten die Leute auf SO zu raten, was schief läuft ganze Batch-Datei. –