Batch wert vorhanden?
Hallo ihr
ich habe da eine Frage und zwar habe ich mir eine Batch zusammengebastelt in dem meine Netzlaufwerke beim Start geprüft werden ob sie da sind oder nicht jetzt müsste ich allerdings noch eine art auswertung haben wenn einer der Netzwerke nicht erreihbar ist und zwar habe ich die Abfrage so realisiert
wäre klasse wenn jemand mir helfen könnte
ich habe da eine Frage und zwar habe ich mir eine Batch zusammengebastelt in dem meine Netzlaufwerke beim Start geprüft werden ob sie da sind oder nicht jetzt müsste ich allerdings noch eine art auswertung haben wenn einer der Netzwerke nicht erreihbar ist und zwar habe ich die Abfrage so realisiert
Ping %VAR3% -n 01|find "Zeit" 1>nul
if %ERRORLEVEL%==0 (echo %VAR3% o.k.) ELSE (echo Verbindung test1 nok
echo.)
Ping %VAR2% -n 01|find "Zeit" 1>nul
if %ERRORLEVEL%==0 (echo Karsau o.k.) ELSE (echo test2 nok
echo.)
das geht auch so weit nun möchte ich aber eine Verbindung aufbauen wenn einer der beiden ein "nok" zurückbringt
meine Frage nun wie schaffe ich es das in der Batch ein GOTO ausgeführt wird wenn ein "nok"
ich selbts habe irgend wie so was in gedacht aber leider gehts nicht
find "nok" > goto XY
wäre klasse wenn jemand mir helfen könnte
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 160794
Url: https://administrator.de/contentid/160794
Ausgedruckt am: 26.11.2024 um 07:11 Uhr
5 Kommentare
Neuester Kommentar
... wobei es sich anbieten würde, das Ganze etwas kompakter zu formulieren:
Außerdem wird es eher sinnvoll sein, anstelle eines "
Wenn es tatsächlich genügt, nur ein einziges Mal (wenn eine der beiden ein "nok" zurückbringt ) eine Aktion auszuführen, dann eher:
Grüße
bastla
Ping %VAR3% -n 01|find "Zeit" 1>nul && (echo %VAR3% o.k.) || (echo Verbindung test1 nok & goto :XY)
goto
" ein "call
" zu verwenden, da ja noch weitere Überprüfungen folgen sollen ...Wenn es tatsächlich genügt, nur ein einziges Mal (wenn eine der beiden ein "nok" zurückbringt ) eine Aktion auszuführen, dann eher:
set "nok="
Ping %VAR3% -n 01|find "Zeit" 1>nul && (echo %VAR3% o.k.) || (echo Verbindung test1 nok & set "nok=True")
...
if defined nok goto :XY
bastla
Hallo charmeur!
Etwas eingedampft und handwerklich begradigt (aber nicht weiter durchdacht geschweige denn getestet ) könnte das dann etwa so aussehen:
Allerdings fehlt mir noch das (in den Zeilen 89 und 109 versprochene) "Starten der Software" bzw die ev darauf folgenden Aktionen - zumindest ein "
Grüße
bastla
Etwas eingedampft und handwerklich begradigt (aber nicht weiter durchdacht geschweige denn getestet ) könnte das dann etwa so aussehen:
@echo off & setlocal
mode 40,20
:anfang
cls
set /a i=0
:start
if %i% geq 30 goto :next
set /a i+=1
cls & echo %i% von 30 Sekunden
echo Bitte Warten
ping localhost -n 2 >NUL
goto :start
:next
set VAR1=192.168.100.1
set VAR2=192.168.200.1
set VAR3=Google.de
set VAR4=00-25-D3-7C-21-7A
cd z:>nul || goto :Verbindungstest
cd y:>nul && goto :eof
:Verbindungstest
rem ********************************* LÖSCHEN DER NETZWERKVERBINDUNGEN *******************************************
ECHO +++++++++++++++++++ Trennung
echo.
net use * /d /y
cls
rem ********************************* Verbindungstest ************************************************************
ECHO +++++++++++++++++++ Verbindungstest
echo.
:: Hier soll kontrolliert werden ob das Netzwerk erreichbar ist VAR1 VAR2 Var3
:: VAR 3 dient nur zur Kontrolle ob eine Internet Verbindung steht
:: VAR1 und VAR 2 sind die NetzLaufwerke die Kontrolliert werden sollen und falls VAR1 nicht erreichbar sollte dann
:: ein GOTO :VPNSoftwareMinseln stattfinden und Fals VAR2 eben nicht erreichbar ist ein GOTO :VPNSoftwareKarsau hindergrund ist
:: das ich einen Surf Stick habe den ich Unterwegs nutze, der dann eben nicht im Netzwerk ist und ich eine VPN Software starten möcht
Ping %VAR1% -n 1|find "Zeit" 1>nul && (echo %VAR1% o.k.) || (echo Verbindung nok & goto :VPNSoftwareMinseln)
pause
:Verbindung
GOTO Verbindungerfolgreich
:keineverbindung
cls
echo +++++++++++++++++++ Auswahl &echo.
Echo 1 - Neu Testen
Echo 2 - VPN Verbindung Minseln
Echo 3 - VPN Verbindung Karsau
Echo 0 - Beenden
echo.
echo ************************** &echo.
Ping %VAR1% -n 1|find "Zeit" 1>nul
if %ERRORLEVEL%==1 (echo Verbindung zu Minseln nok &echo.)
Ping %VAR2% -n 1|find "Zeit" 1>nul
if %ERRORLEVEL%==1 (echo Verbindung zu Kasau nok &echo.)
echo ************************** &echo.
:Eingabe
set /p choice=Bitte treffe deine Auswahl.
echo.
if %choice% == 1 goto :Verbindungstest
if %choice% == 2 goto :VPNSoftwareMinseln
if %choice% == 3 goto :VPNSoftwareKarsau
if %choice% == 0 goto :eof
goto :Eingabe
:Verbindungerfolgreich
cls
rem ********************************* NETZLAUFWERK KARSAU *******************************************
echo +++++++++++++++++++ Netzlaufwerk Karsau
echo.
Ping %VAR2% -n 1|find "Zeit" 1>nul && (
net use Z: \\%VAR2%\fritz.nas\USBDRIVE-01
echo Verbunden mit Karsau
echo.
) || (
echo keine Verbindung mit Karsau, Software wird gestartet.
echo.
)
:::::::::: Sollte hier eine "Software" gestartet werden? :::::::::::
rem ********************************* NETZLAUFWERK MINSELN *******************************************
rem %VAR4% MAC Adresse
ipconfig /all |find /i "%VAR4%" 1>nul || goto :eof
cls
echo +++++++++++++++++++ Netzlaufwerk Minseln
echo.
Ping %VAR1% -n 1|find "Zeit" 1>nul && (
net use Y: \\%VAR1%\uStor01\Thomas
echo Verbunden mit Minseln
echo.
) || (
cls
echo keine Verbindung mit Minseln, Software wird gestartet.
echo.
)
:::::::::: Sollte hier auch eine "Software" gestartet werden? :::::::::::
cls
echo ************************** &echo.
ping %VAR1% -n 1|find "Zeit" 1>nul && (echo Verbindung zu Minseln ok &echo.)
Ping %VAR2% -n 1|find "Zeit" 1>nul && (echo Verbindung zu Karsau ok &echo.)
echo ************************** &echo.
ping localhost -n 6 >NUL
goto :eof
rem ********************************* PRÜFUNG OB VERBINDUNG VORHANDEN *******************************************
:VPNSoftwareMinseln
Ping %VAR1% -n 1|find "Zeit" 1>nul && (
cls
echo Netzlaufwek Minseln wurde verbunden.
) || (
start cmd /C "color f0 &echo.& echo Verbindungsaufbau!&echo.& echo Verbindung wird mit VPN Software &echo. &echo Thomas &echo. & echo Herstellen & echo. & ping localhost -n 5 >NUL & start C:\Programme\ShrewSoft\"VPN Client"\ipsecc.exe -r Thomas -a"
)
goto :anfang
:VPNSoftwareKarsau
Ping %VAR2% -n 1|find "Zeit" 1>nul && (
cls
echo Netzlaufwek Karsau wurde verbunden.
) || (
start cmd /C "color f0 &echo.& echo Verbindungsaufbau!&echo.& echo Verbindung wird mit VPN Software &echo. &echo Michael &echo. & echo Herstellen & echo. & ping localhost -n 5 >NUL & start C:\Programme\ShrewSoft\"VPN Client"\ipsecc.exe -r Michael -a"
)
goto :anfang
goto
" (und wenn's nach ":eof
" ist) könnte ich mir da noch vorstellen ...Grüße
bastla