batch
Gebruiker
- Lid geworden
- 29 apr 2009
- Berichten
- 306
Hallo iedereen,
Ik heb voor de grap een paar batch files gemaakt die een school rapport generen maar om één of andere reden werken de variabelen niet helemaal
hier de inhoud van mijn hoofd batch-file:
En hier de inhoud van één van de batch files die daadwerkelijk het rapport maakt:
Het probleem is dat dit de output is: (heb even wat anders ingevoegd bij leerling)
En dat klopt natuurlijk niet...
Weet iemand waarom?
Ik heb voor de grap een paar batch files gemaakt die een school rapport generen maar om één of andere reden werken de variabelen niet helemaal
hier de inhoud van mijn hoofd batch-file:
Code:
@echo off
cd data
color 0F
title Cijfer Programma
mode con:cols=100 lines=40
call namen.bat
:begin
set leerling=geen
cls
echo ----------------------------------------------------------------------
echo ^| Tijd: %time% ^| Datum: %date% ^| Leerling: %leerling% ^|
echo ----------------------------------------------------------------------
echo.
echo 1: %leerling1%
echo 2: %leerling2%
echo 3: %leerling3%
echo 4: %leerling4%
echo 5: %leerling5%
echo 6: %leerling6%
echo 7: %leerling7%
echo 8: %leerling8%
echo 9: %leerling9%
echo 10: %leerling10%
echo 11: %leerling11%
echo 12: %leerling12%
echo.
set nummer=
set /p nummer=Nummer van leerling:
if "%nummer%"=="1" set leerling=%leerling1% & goto leerling1
if "%nummer%"=="2" set leerling=%leerling2% & goto leerling2
if "%nummer%"=="3" set leerling=%leerling3% & goto leerling3
if "%nummer%"=="4" set leerling=%leerling4% & goto leerling4
if "%nummer%"=="5" set leerling=%leerling5% & goto leerling5
if "%nummer%"=="6" set leerling=%leerling6% & goto leerling6
if "%nummer%"=="7" set leerling=%leerling7% & goto leerling7
if "%nummer%"=="8" set leerling=%leerling8% & goto leerling8
if "%nummer%"=="9" set leerling=%leerling9% & goto leerling9
if "%nummer%"=="10" set leerling=%leerling10% & goto leerling10
if "%nummer%"=="11" set leerling=%leerling11% & goto leerling11
if "%nummer%"=="12" set leerling=%leerling12% & goto leerling12
echo.
echo Het nummer dat u heeft ingevoerd is geen optie.
echo.
echo Druk op een toets om terug te gaan...
pause > nul
goto begin
:leerling1
cls
echo ----------------------------------------------------------------------
echo ^| Tijd: %time% ^| Datum: %date% ^| Leerling: %leerling% ^|
echo ----------------------------------------------------------------------
echo.
echo 1: Cijfers wijzigen
echo 2: Naam Wijzigen
echo.
echo 3: Terug naar hoofdmenu
echo.
set nummer=
set /p nummer=Nummer:
if "%nummer%"=="1" goto leerling1wijzig
if "%nummer%"=="2" goto leerling1zeker
if "%nummer%"=="3" goto begin
echo.
echo Het nummer dat u heeft ingevoerd is geen optie.
echo.
echo Druk op een toets om terug te gaan...
pause > nul
goto leerling1
:leerling1zeker
cls
echo ----------------------------------------------------------------------
echo ^| Tijd: %time% ^| Datum: %date% ^| Leerling: %leerling% ^|
echo ----------------------------------------------------------------------
echo.
set zeker=
set /p zeker=Weet u zeker dat u de naam van %leerling1% (leerling 1) wilt wijzigen? (j/n):
if "%zeker%"=="j" goto leerling1naam
if "%zeker%"=="n" goto leerling1
echo.
echo Het nummer dat u heeft ingevoerd is geen optie.
echo.
echo Druk op een toets om terug te gaan...
pause > nul
goto leerling1
:leerling1naam
cls
echo ----------------------------------------------------------------------
echo ^| Tijd: %time% ^| Datum: %date% ^| Leerling: %leerling% ^|
echo ----------------------------------------------------------------------
echo.
set /p leerling1=Nieuwe naam van %leerling1% (Leerling 1):
echo set leerling1= >> namen.bat
echo set leerling1=%leerling1% >> namen.bat
echo.
echo Naam gewijzigd.
echo.
echo Druk op een toets om terug te gaan naar het hoofdmenu...
pause > nul
goto begin
:leerling1wijzig
cls
echo ----------------------------------------------------------------------
echo ^| Tijd: %time% ^| Datum: %date% ^| Leerling: %leerling% ^|
echo ----------------------------------------------------------------------
echo.
echo Cijfers Nederlands:
echo.
set /p 1ned1=Rapport 1:
set /p 1ned2=Rapport 2:
set /p 1ned3=Rapport 3:
set /p 1ned4=Rapport 4:
set /p 1ned5=Gemiddelde:
echo.
echo.
echo Duits:
echo.
set /p 1dui1=Rapport 1:
set /p 1dui2=Rapport 2:
set /p 1dui3=Rapport 3:
set /p 1dui4=Rapport 4:
set /p 1dui5=Gemiddelde:
echo.
echo.
echo Engels:
echo.
set /p 1eng1=Rapport 1:
set /p 1eng2=Rapport 2:
set /p 1eng3=Rapport 3:
set /p 1eng4=Rapport 4:
set /p 1eng5=Gemiddelde:
echo.
echo.
echo Wiskunde:
echo.
set /p 1wis1=Rapport 1:
set /p 1wis2=Rapport 2:
set /p 1wis3=Rapport 3:
set /p 1wis4=Rapport 4:
set /p 1wis5=Gemiddelde:
echo.
echo.
echo Natuur- scheikunde:
echo.
set /p 1nas1=Rapport 1:
set /p 1nas2=Rapport 2:
set /p 1nas3=Rapport 3:
set /p 1nas4=Rapport 4:
set /p 1nas5=Gemiddelde:
echo.
echo.
echo Economie:
echo.
set /p 1eco1=Rapport 1:
set /p 1eco2=Rapport 2:
set /p 1eco3=Rapport 3:
set /p 1eco4=Rapport 4:
set /p 1eco5=Gemiddelde:
echo.
echo.
echo Gym:
echo.
set /p 1gym1=Rapport 1:
set /p 1gym2=Rapport 2:
set /p 1gym3=Rapport 3:
set /p 1gym4=Rapport 4:
set /p 1gym5=Gemiddelde:
echo.
echo.
set invoeren=
set /p invoeren=Alle cijfers invoeren? (j/n):
if "%invoeren%"=="j" goto leerling1invoeren
if "%invoeren%"=="n" goto leerling1
echo.
echo Het nummer dat u heeft ingevoerd is geen optie.
echo.
echo Druk op een toets om terug te gaan...
pause > nul
goto leerling1
:leerling1invoeren
cd leerling1
maaklijst.bat
cd..
goto begin
:leerling2
cls
echo ----------------------------------------------------------------------
echo ^| Tijd: %time% ^| Datum: %date% ^| Leerling: %leerling% ^|
echo ----------------------------------------------------------------------
echo.
echo 1: Cijfers wijzigen
echo 2: Naam Wijzigen
echo.
echo 3: Terug naar hoofdmenu
echo.
set nummer=
set /p nummer=Nummer:
if "%nummer%"=="1" goto leerling2wijzig
if "%nummer%"=="2" goto leerling2zeker
if "%nummer%"=="3" goto begin
echo.
echo Het nummer dat u heeft ingevoerd is geen optie.
echo.
echo Druk op een toets om terug te gaan...
pause > nul
goto leerling2
:leerling2zeker
cls
echo ----------------------------------------------------------------------
echo ^| Tijd: %time% ^| Datum: %date% ^| Leerling: %leerling% ^|
echo ----------------------------------------------------------------------
echo.
set zeker=
set /p zeker=Weet u zeker dat u de naam van %leerling2% (leerling 2) wilt wijzigen? (j/n):
if "%zeker%"=="j" goto leerling2naam
if "%zeker%"=="n" goto leerling2
echo.
echo Het nummer dat u heeft ingevoerd is geen optie.
echo.
echo Druk op een toets om terug te gaan...
pause > nul
goto leerling2
:leerling2naam
cls
echo ----------------------------------------------------------------------
echo ^| Tijd: %time% ^| Datum: %date% ^| Leerling: %leerling% ^|
echo ----------------------------------------------------------------------
echo.
set /p leerling2=Nieuwe naam van %leerling2% (Leerling 2):
echo set leerling2= >> namen.bat
echo set leerling2=%leerling2% >> namen.bat
echo.
echo Naam gewijzigd.
echo.
echo Druk op een toets om terug te gaan naar het hoofdmenu...
pause > nul
goto begin
:leerling2wijzig
cls
echo ----------------------------------------------------------------------
echo ^| Tijd: %time% ^| Datum: %date% ^| Leerling: %leerling% ^|
echo ----------------------------------------------------------------------
echo.
echo Cijfers Nederlands:
echo.
set /p 2ned1=Rapport 1:
set /p 2ned2=Rapport 2:
set /p 2ned3=Rapport 3:
set /p 2ned4=Rapport 4:
set /p 2ned5=Gemiddelde:
echo.
echo.
echo Duits:
echo.
set /p 2dui1=Rapport 1:
set /p 2dui2=Rapport 2:
set /p 2dui3=Rapport 3:
set /p 2dui4=Rapport 4:
set /p 2dui5=Gemiddelde:
echo.
echo.
echo Engels:
echo.
set /p 2eng1=Rapport 1:
set /p 2eng2=Rapport 2:
set /p 2eng3=Rapport 3:
set /p 2eng4=Rapport 4:
set /p 2eng5=Gemiddelde:
echo.
echo.
echo Wiskunde:
echo.
set /p 2wis1=Rapport 1:
set /p 2wis2=Rapport 2:
set /p 2wis3=Rapport 3:
set /p 2wis4=Rapport 4:
set /p 2wis5=Gemiddelde:
echo.
echo.
echo Natuur- scheikunde:
echo.
set /p 2nas1=Rapport 1:
set /p 2nas2=Rapport 2:
set /p 2nas3=Rapport 3:
set /p 2nas4=Rapport 4:
set /p 2nas5=Gemiddelde:
echo.
echo.
echo Economie:
echo.
set /p 2eco1=Rapport 1:
set /p 2eco2=Rapport 2:
set /p 2eco3=Rapport 3:
set /p 2eco4=Rapport 4:
set /p 2eco5=Gemiddelde:
echo.
echo.
echo Gym:
echo.
set /p 2gym1=Rapport 1:
set /p 2gym2=Rapport 2:
set /p 2gym3=Rapport 3:
set /p 2gym4=Rapport 4:
set /p 2gym5=Gemiddelde:
echo.
echo.
set invoeren=
set /p invoeren=Alle cijfers invoeren? (j/n):
if "%invoeren%"=="j" goto leerling2invoeren
if "%invoeren%"=="n" goto leerling2
echo.
echo Het nummer dat u heeft ingevoerd is geen optie.
echo.
echo Druk op een toets om terug te gaan...
pause > nul
goto leerling2
:leerling2invoeren
cd leerling2
maaklijst.bat
cd..
goto begin
En hier de inhoud van één van de batch files die daadwerkelijk het rapport maakt:
Code:
@echo off
title Rapport %leerling%
if "%2ned1%"=="" set 2ned1=nvt
if "%2ned2%"=="" set 2ned2=nvt
if "%2ned3%"=="" set 2ned3=nvt
if "%2ned4%"=="" set 2ned4=nvt
if "%2ned5%"=="" set 2ned5=nvt
if "%2dui1%"=="" set 2dui1=nvt
if "%2dui2%"=="" set 2dui2=nvt
if "%2dui3%"=="" set 2dui3=nvt
if "%2dui4%"=="" set 2dui4=nvt
if "%2dui5%"=="" set 2dui5=nvt
if "%2eng1%"=="" set 2eng1=nvt
if "%2eng2%"=="" set 2eng2=nvt
if "%2eng3%"=="" set 2eng3=nvt
if "%2eng4%"=="" set 2eng4=nvt
if "%2eng5%"=="" set 2eng5=nvt
if "%2wis1%"=="" set 2wis1=nvt
if "%2wis2%"=="" set 2wis2=nvt
if "%2wis3%"=="" set 2wis3=nvt
if "%2wis4%"=="" set 2wis4=nvt
if "%2wis5%"=="" set 2wis5=nvt
if "%2nas1%"=="" set 2nas1=nvt
if "%2nas2%"=="" set 2nas2=nvt
if "%2nas3%"=="" set 2nas3=nvt
if "%2nas4%"=="" set 2nas4=nvt
if "%2nas5%"=="" set 2nas5=nvt
if "%2eco1%"=="" set 2eco1=nvt
if "%2eco2%"=="" set 2eco2=nvt
if "%2eco3%"=="" set 2eco3=nvt
if "%2eco4%"=="" set 2eco4=nvt
if "%2eco5%"=="" set 2eco5=nvt
if "%2gym1%"=="" set 2gym1=nvt
if "%2gym2%"=="" set 2gym2=nvt
if "%2gym3%"=="" set 2gym3=nvt
if "%2gym4%"=="" set 2gym4=nvt
if "%2gym5%"=="" set 2gym5=nvt
cls
if exist "cijferlijst.txt" del cijferlijst.txt
echo ---------------------------------------------------------------------- >> cijferlijst.txt
echo ^| Cijferlijst van leerling 2: %leerling2% ^| >> cijferlijst.txt
echo ---------------------------------------------------------------------- >> cijferlijst.txt
echo. >> cijferlijst.txt
echo R-1 R-2 R-3 R-4 gem. >> cijferlijst.txt
echo. >> cijferlijst.txt
echo Nederlands %2ned1% %2ned2% %2ned3% %2ned4% %2ned5% >> cijferlijst.txt
echo Duits %2dui1% %2dui2% %2dui3% %2dui4% %2dui5% >> cijferlijst.txt
echo Engels %2eng1% %2eng2% %2eng3% %2eng4% %2eng5% >> cijferlijst.txt
echo Wiskunde %2wis1% %2wis2% %2wis3% %2wis4% %2wis5% >> cijferlijst.txt
echo Natuur- scheikunde %2nas1% %2nas2% %2nas3% %2nas4% %2nas5% >> cijferlijst.txt
echo Economie %2eco1% %2eco2% %2eco3% %2eco4% %2eco5% >> cijferlijst.txt
echo Gym %2gym1% %2gym2% %2gym3% %2gym4% %2gym5% >> cijferlijst.txt
echo ----------------------------------------------------------------------
echo ^| Cijferlijst van leerling 2: %leerling2% ^|
echo ----------------------------------------------------------------------
echo.
echo R-1 R-2 R-3 R-4 gem.
echo.
echo Nederlands %2ned1% %2ned2% %2ned3% %2ned4% %2ned5%
echo Duits %2dui1% %2dui2% %2dui3% %2dui4% %2dui5%
echo Engels %2eng1% %2eng2% %2eng3% %2eng4% %2eng5%
echo Wiskunde %2wis1% %2wis2% %2wis3% %2wis4% %2wis5%
echo Natuur- scheikunde %2nas1% %2nas2% %2nas3% %2nas4% %2nas5%
echo Economie %2eco1% %2eco2% %2eco3% %2eco4% %2eco5%
echo Gym %2gym1% %2gym2% %2gym3% %2gym4% %2gym5%
echo.
echo.
pause > nul
Het probleem is dat dit de output is: (heb even wat anders ingevoegd bij leerling)
En dat klopt natuurlijk niet...
Weet iemand waarom?
Laatst bewerkt: