Opgelost Yes or No in batch-file

Dit topic is als opgelost gemarkeerd

Senso

Meubilair
Lid geworden
13 jun 2016
Berichten
9.712
Besturingssysteem
W10 Pro en W11 Pro
Office versie
Office 2007 H@S en Office 2021 Prof Plus
Y en N werkt hier niet goed. De opdracht wordt uitgevoerd. Kan iemand dat zo maken dat het wel goed werkt. Ik lees dus het doel en dan moet ik beslissen of de opdracht uitgevoerd moet worden.

Code:
cls
cd\
rem ------------------------------------------------------------
rem Doel: Wo1_Maak Back-ups op woensdag van W11-pc
rem
CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."
rem
"C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" "E:\INDEX\Mijn Boekhouding\Mijn Werkzaamheden\Maak Back-ups op woensdag van W11-pc.xlsm"
pause
rem ------------------------------------------------------------
rem Doel: Za1_Norton Security > Snelle scan uitvoeren
rem
CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."
rem
"C:\Program Files\Norton Security\Engine\22.24.2.6\navw32.exe" /QUICK
pause
rem ------------------------------------------------------------
rem Doel: Za2_Maak Back-ups op zaterdag van W10-pc
rem
CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."
rem
"C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" "E:\INDEX\Mijn Boekhouding\Mijn Werkzaamheden\Maak Back-ups op zaterdag van W10-pc.xlsm"
pause
rem ------------------------------------------------------------
rem Doel: M02_Kopieer Mijn Boekhouding naar USB-stick J
rem
CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."
rem
robocopy "E:\INDEX\Mijn Boekhouding\ " "J:\Mijn Boekhouding " /e
pause
rem ------------------------------------------------------------
rem Doel: M15_Windows Update uitvoeren
rem
CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."
rem
start ms-settings:windowsupdate
pause
rem ------------------------------------------------------------
rem Doel: M30_Optimaliseer schijven uitvoeren
rem
CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."rem
rem
C:\Windows\System32\dfrgui.exe
pause
rem ------------------------------------------------------------
 
De CHOICE opdracht werkt met ERRORLEVEL.
Zie voorbeeld:
Code:
@Echo Off
Echo Doel: Gaan we dit doen?
@CHOICE /C YNC /M "Je keuze?"
IF ERRORLEVEL 3 GOTO C
IF ERRORLEVEL 2 GOTO N
IF ERRORLEVEL 1 GOTO Y

:C
Echo De keuze was C
Goto Einde

:N
Echo De keuze was N
Goto Einde

:Y
Echo De keuze was Y

:Einde
Pause
 
Laatst bewerkt:
Ik heb dat geprobeerd maar krijg het niet werkend. Zou ook niet weten waar dat te plaatsen. In post 1 staat, als ik het doel zie, moet ik een keuze kunnen maken ja of nee opdracht uitvoeren. Na die keuze Y dan opdracht uitvoeren of na N bij de volgende opdracht Y/N vragen.

Code:
@Echo off
choice /C YNC /M "Je keuze?"
IF ERRORLEVEL 3 GOTO C
IF ERRORLEVEL 2 GOTO N
IF ERRORLEVEL 1 GOTO Y
:C
Echo De keuze was C
Goto Einde
:N
Echo De keuze was N
Goto Einde
:Y
Echo De keuze was Y
:Einde
pause
@Echo on
rem ------------------------------------------------------------
rem
rem Doel: Windows Update
rem
start ms-settings:windowsupdate
rem
rem ------------------------------------------------------------
rem
rem Doel: M30_Optimaliseer schijven uitvoeren
rem
C:\Windows\System32\dfrgui.exe
rem
rem ------------------------------------------------------------
 
Mijn voorbeeld lijkt me duidelijk genoeg.
Als ik er vanavond tijd voor heb zal ik je eigen code er op aanpassen.

Tip:
Zet mijn voorbeeld in een .bat bestand en voer deze uit.
Dan kan je precies zien wat er gebeurt.
Ik heb zojuist het doel er bij gezet.
 
Naar aanleiding van je aanvulling in #3:
Code:
@Echo Off
Echo Schijven optimaliseren
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 GOTO C
IF ERRORLEVEL 2 GOTO N
IF ERRORLEVEL 1 GOTO J

:C
Exit

:J
C:\Windows\System32\dfrgui.exe
Goto Einde

:N
Echo De keuze was N - Volgende opdracht
Goto Einde

:Einde
Pause
 
Laatst bewerkt:
Bedankt voor jouw hulp. 👍
 
Iets compacter en minder labels:
Code:
@Echo Off
Echo Schijven optimaliseren
@CHOICE /C JNC /M "Uitvoeren? "
IF ERRORLEVEL 3 Exit
IF ERRORLEVEL 2 GOTO Volgende
IF ERRORLEVEL 1 (
    C:\Windows\System32\dfrgui.exe
    Goto Volgende)

:Volgende
Pause
 
Gevonden het > teken is de oorzaak. >opgelost

Ik heb nu onderstaande. Kan de fout niet vinden. Slaat telkens de tweede over dat is > Snelle scan (in de uitvoering van de batch file) Dus ik doe N N N N. De procedure is niet goed. Je ziet deze niet verschijnen.

Code:
@Echo Off
Echo Wo1_Maak Back-ups op woensdag van W11-pc
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 GOTO C
IF ERRORLEVEL 2 GOTO N
IF ERRORLEVEL 1 GOTO J
:C
Exit
:N
Echo De keuze was N
Goto Einde
:J
"C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" "E:\INDEX\Mijn Boekhouding\Mijn Werkzaamheden\Maak Back-ups op woensdag van W11-pc.xlsm"
:Einde
Pause
@Echo Off
Echo Za1_Norton Security > Snelle scan uitvoeren
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 GOTO C
IF ERRORLEVEL 2 GOTO N
IF ERRORLEVEL 1 GOTO J
:C
Exit
:N
Echo De keuze was N
Goto Einde
:J
"C:\Program Files\Norton Security\Engine\22.24.2.6\navw32.exe" /QUICK
:Einde
Pause
@Echo Off
Echo Za2_Maak Back-ups op zaterdag van W10-pc
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 GOTO C
IF ERRORLEVEL 2 GOTO N
IF ERRORLEVEL 1 GOTO J
:C
Exit
:N
Echo De keuze was N
Goto Einde
:J
"C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" "E:\INDEX\Mijn Boekhouding\Mijn Werkzaamheden\Maak Back-ups op zaterdag van W10-pc.xlsm"
:Einde
Pause
@Echo Off
Echo M02_Kopieer Mijn Boekhouding naar USB-stick J
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 GOTO C
IF ERRORLEVEL 2 GOTO N
IF ERRORLEVEL 1 GOTO J
:C
Exit
:N
Echo De keuze was N
Goto Einde
:J
robocopy "E:\INDEX\Mijn Boekhouding\ " "J:\Mijn Boekhouding " /e
:Einde
Pause
@Echo Off
Echo M15_Windows Update uitvoeren
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 GOTO C
IF ERRORLEVEL 2 GOTO N
IF ERRORLEVEL 1 GOTO J
:C
Exit
:N
Echo De keuze was N
Goto Einde
:J
start ms-settings:windowsupdate
:Einde
Pause
@Echo Off
Echo M30_Optimaliseer schijven uitvoeren
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 GOTO C
IF ERRORLEVEL 2 GOTO N
IF ERRORLEVEL 1 GOTO J
:C
Exit
:N
Echo De keuze was N
Goto Einde
:J
C:\Windows\System32\dfrgui.exe
:Einde
Pause
 
Laatst bewerkt:
Labels moeten uiteraard wel uniek zijn.
Kijk eens naar dit:
Code:
@Echo Off

Echo Wo1_Maak Back-ups op woensdag van W11-pc
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 Exit
IF ERRORLEVEL 2 GOTO GeenBackupW11
IF ERRORLEVEL 1 GOTO WelBackupW11
:WelBackupW11
"C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" "E:\INDEX\Mijn Boekhouding\Mijn Werkzaamheden\Maak Back-ups op woensdag van W11-pc.xlsm"
:GeenBackupW11
Pause

Echo Za1_Norton Security Snelle scan uitvoeren
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 Exit
IF ERRORLEVEL 2 GOTO GeenScan
IF ERRORLEVEL 1 GOTO WelScan
:WelScan
"C:\Program Files\Norton Security\Engine\22.24.2.6\navw32.exe" /QUICK
:GeenScan
Pause

Echo Za2_Maak Back-ups op zaterdag van W10-pc
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 Exit
IF ERRORLEVEL 2 GOTO GeenBackupW10
IF ERRORLEVEL 1 GOTO WelBackupW10
:WelBackupW10
"C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" "E:\INDEX\Mijn Boekhouding\Mijn Werkzaamheden\Maak Back-ups op zaterdag van W10-pc.xlsm"
:GeenBackupW10
Pause

Echo M02_Kopieer Mijn Boekhouding naar USB-stick J
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 GOTO Exit
IF ERRORLEVEL 2 GOTO GeenKopieBoekhouding
IF ERRORLEVEL 1 GOTO WelKopieBoekhouding
:WelKopieBoekhouding
robocopy "E:\INDEX\Mijn Boekhouding\ " "J:\Mijn Boekhouding " /e
:GeenKopieBoekhouding
Pause

Echo M15_Windows Update uitvoeren
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 GOTO Exit
IF ERRORLEVEL 2 GOTO GeenWindowsUpdate
IF ERRORLEVEL 1 GOTO WelWindwsUpdate
:WelWindwsUpdate
start ms-settings:windowsupdate
:GeenWindowsUpdate
Pause

Echo M30_Optimaliseer schijven uitvoeren
@CHOICE /C JNC /M "Uitvoeren?"
IF ERRORLEVEL 3 GOTO Exit
IF ERRORLEVEL 2 GOTO GeenOptimalisatie
IF ERRORLEVEL 1 GOTO WelOptimalisatie
:WelOptimalisatie
C:\Windows\System32\dfrgui.exe
:GeenOptimalisatie
Pause
 
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan