Abfrageschleife in Batchdatei

  • #1
I

ITfisi

Mitglied
Themenersteller
Dabei seit
22.10.2013
Beiträge
7
Reaktionspunkte
0
Hallo

ich brauche Hilfe bei meiner Batchdatei
ich möchte prüfen ob ein Laufwerk X angeschlossen bzw. verfügbar ist. Maximal 5 Versuche dann eine Error Meldung ausgeben.
Die Abfrage ob das LW. vorhanden ist, funktioniert.
Nur wenn es nicht da ist ... wie geht es dann weiter in einer Schleife ?
Komme da jetzt nicht weiter ....
Muss / kann man das mit einer for schleife machen und wie ... stehe da auf dem Schlauch :embarrassed:

hoffe es gibt noch jemand der mir helfen kann - obwohl man batch fast nicht mehr braucht
es geht hauptsächlich um den roten Teil - der Rest funz so, so
Vielleicht gibt es auch was viel einfacheres

Vielen Dank schon mal
Grüsse Pepe

hier mal mein Code:

Code:
[COLOR="#FF0000"]@echo off
    set counter=0
    set maxcount=5
    set /a counter=%counter% + 1
    if "%counter%" EQU "%maxcount%" goto ERMAX
echo.
:: Abfrage ist LW X:\ vorhanden
:: maximal 5 Abfragen
echo.



    :Start
cd s: && goto WAHL
if errorlevel 1 goto reask

[/COLOR]
:reask
echo.
echo.
echo Was willst du machen ?
echo.
echo LW anschliessen und wiederholen oder Abbrechen
echo.
choice /c:WA /m "Bitte wählen: (W)iederholen (A)bbruch" 
if errorlevel 3 goto 
if errorlevel 2 goto abbruch
if errorlevel 1 goto wieder



:wieder
cls
goto start





:wahl
echo.
:: Abfrage Backup oder Restore
cls
echo.
echo Backup oder Restore ausführen ?
echo.
choice /c:BRA /m "Bitte wählen: (B)ackup (R)estore (A)bbruch" 
if errorlevel 3 goto abbruch
if errorlevel 2 goto restore
if errorlevel 1 goto backup
echo.




:backup
cls
echo.
echo USB Laufwerk vorhanden
echo.
echo.
echo Starte Backup Script
timeout /T 3 >NUL
call backup.bat
echo.
goto nix



:restore
cls
echo.
echo USB Laufwerk vorhanden
echo.
echo.
echo Starte RESTORE Script
timeout /T 3 >NUL
call restore.bat
echo.
goto nix


:abbruch
cls
echo.
echo Ausfuehrung abgebrochen
echo.
pause
goto nix


    :ERMAX
    cls
    echo.
    echo SORRY - max. Anzahl der Versuche wurde erreicht.
    goto ENDE
     
    :ENDE
    echo.
    pause
    goto nix


:nix
exit
 
  • #2
Versuchs mal damit:
Code:
set /a loop=0
 
:start
set /a loop=%loop%+1
echo start %loop%
set started=%errorlevel%
if %loop%==5 goto fehler
if %started%==0 pause & goto start
 
:fehler
echo ERROR
Rest musst halt anpassen.
 
  • #3
Hallo,

vielen Dank, bin noch am arbeiten
sobald ich zu hause bin teste ich alles

Gruss Pepe
 
  • #4
Hallo

dein LOOP funktioniert.
Jedoch springt es nicht weiter wenn das Laufwerk vorhanden ist ...
Es werden immer 5 Versuche durchgeführt ob LW. da oder nicht.
Hast du noch eine Idee ?

Danke
 
  • #5
Musst halt noch in die Schleife einbringen:
Code:
if exist X:\nul then goto AnweisungWennVorhanden


:AnweisungWennVorhanden
 echo tuergendwas
 :end
/untested
 
  • #6
Hallo

oh ich verzweifle wirklich ... und es ist nicht mein erstes Batchfile was ich mache
aber mit den Schleifen habe ich so meine Probleme :embarrassed:
es will einfach nicht funktionieren

wenn das Laufwerk gefunden wird soll es mit "test" weiter machen
wenn das LW. nicht gefunden wird soll es bis zu 5 mal neu versuchen, danach zur Sprungmarke :fehler
ich denke es sind 3 Teile

der LOOP
die LW Prüfung
die Anweisung - hier die Sprungmarke "test"

egal an welche Stelle ich die LW Prüfung schreibe, die Ausführung ist nicht wie sie sein soll
und LW C: sollte es doch finden.

hier mein Code


@echo off
echo.
set /a loop=0

:start
set /a loop=%loop%+1
echo start %loop%
set started=%errorlevel%
if %loop%==5 goto fehler
if %started%==0 pause & goto start

cd c: && goto test

:test
echo.
echo Test erfolgreich
pause
goto nix


:fehler
echo SORRY - max. Anzahl der Versuche wurde erreicht.
goto ENDE


:ENDE
pause
goto nix


:nix
exit
 
Zuletzt bearbeitet:
  • #7
Code:
@echo off

set /a loop=0
 
:start
set /a loop=%loop%+1
set started=%errorlevel%
if %loop%==5 goto fehler
if exist X:\nul goto success
if %started%==0 pause & goto start


:success
echo Laufwerk gefunden
Pause
exit

:fehler
echo: ERROR
 
Zuletzt bearbeitet von einem Moderator:
  • #8
Hallo

vielen vielen Dank :toll:
Jetzt funktioniert es wie es soll

Gruss Pepe
 
Thema:

Abfrageschleife in Batchdatei

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.861
Beiträge
708.068
Mitglieder
51.506
Neuestes Mitglied
fransco
Oben