Gå til innhold

Anbefalte innlegg

Hei jeg sitter å leker meg litt med batch. Lager en meny som skal komme opp når brukern blir logga på.

(kan sikkert bli utrolig irriterende, men jeg gjør det bare for å lære litt.)

 

Men uansett, ta en titt her:

 

ECHO Trykk 1 for aa gaa til meny.
ECHO.
ECHO Trykk 2 for aa fortsette i Windows.
SET valg=
SET /p valg=Valg:
IF '%valg%'=='1' ECHO her er den jaevla menyen

 

Finnes det et tegn jeg kan sette foran ECHO i den siste linja som gjør at jeg kan skrive flere kommandoer nedover for så å sette tegnet igjen for å hoppe ut av IF kommandoen?

 

Og er det lurt å skrive den samme "IF '%valg%'=='1'" bare at jeg bytter ut "1" med "2", eller finnes det en annen variant av IF som er lurere, jeg vet at i irc-script så kan man bruke "ELSEIF"

Lenke til kommentar
Videoannonse
Annonse

IF '%valg%' == '1' GOTO VIS_MENY

GOTO EXIT

:VIS_MENY

ECHO Her er den jævla menyen

:EXIT

 

Ville blitt det samme som

 

if(valg == 1)

echo("her er den jævla menyen")

else

end()

endif

 

skal du ha elseif, legger du bare til en if linje under, ren logikk.

Endret av GeirGrusom
Lenke til kommentar

Jeg laget en gang en dyptgående meny, med et program som brukte errorlevels. Choice.com mener jeg fila het. Laget slik at man trykte 0 - 1 så kom man til en undermeny med nye valg. Kan se om jeg ikke finner fila, pluss et utsnitt av koden og legge ut.. (Om jeg husker, er på jobben)

 

-Trond

Lenke til kommentar

ECHO Trykk 1 for aa gaa til meny.

SLEEP 1
ECHO.

ECHO Trykk 2 for aa fortsette i Windows.

CHOISE 12>nul

IF errorlevel 3 goto done
IF errorlevel 2 goto quit
IF errorlevel 1 goto meny

ECHO Du maa ta et valg!
GOTO DONE

:MENY
ECHO Her er menyen din.
ECHO Håper den smaker.
PAUSE

:QUIT
ECHO Avslutter om 3 sek.
ECHO Snakkes :)
ECHO.
SLEEP 1
ECHO 3
SLEEP 1
ECHO 2
SLEEP 1
ECHO 1
SLEEP 1
ECHO BYEBYE
EXIT

:DONE
PAUSE

 

Får feilmelding på CHOISE, kan jeg ikke bruke den kommandoen?

Sitter forøvrig på WinXP

 

EJECTCD kommandoen funker heller ikke?

Lenke til kommentar

Her er et utsnitt av det vi bruker. Vi bruker det til å velge hvilket merke pc det er, så vi laster inn riktig image fra server. Så har vi undermenyer for hvilke typer det er.. Grunnen til at vi bruker en del "tomme", er at det da blir enklere å legge inn nye, så slipper man å endre så mange errorlevels.

Choice fila ligger ikke i xp, den finnes for nedlasting her: http://support.microsoft.com/default.aspx?...Ben-us%3B117600

 

echo Du valgte "%hostname%" som PC-navn til den nye pc'n.
echo For å endre, trykk 0.
echo.
echo.
echo Velg PC-merke:
echo [1]Fujitsu Siemens
echo [2]Dell 
echo [3]IBM
echo [4]Sectra
echo [5]Compaq
echo [0]VELG NYTT HOST NAME  / %hostname%
echo [q]QUIT                            / Tilbake til prompt
echo.
REM CHOICE teller errorlevel fra antall valg, 1 og oppover...
choice /c:1234567890q
if errorlevel=1 set merke=1
if errorlevel=2 set merke=2
if errorlevel=3 set merke=3
if errorlevel=4 set merke=4
if errorlevel=5 set merke=5
if errorlevel=6 set merke=6
if errorlevel=7 set merke=7
if errorlevel=8 set merke=8
if errorlevel=9 set merke=9
if errorlevel=10 set merke=10
if errorlevel=11 set merke=11
if %merke%==1 goto _FUJITSU-SIEMENS
if %merke%==2 goto _DELL
if %merke%==3 goto _IBM
if %merke%==4 goto _SECTRA
if %merke%==5 goto _COMPAQ
if %merke%==6 goto _velg
if %merke%==7 goto _velg
if %merke%==8 goto _velg
if %merke%==9 goto _velg
if %merke%==10 goto _top
if %merke%==11 goto _end
:: Ny meny starter her
:_FUJITSU-SIEMENS
cls
echo Du valgte Fujitsu-Siemens.
echo For å endre, trykk 0.
echo.
echo.
echo Velg PC-type:
echo [1]Scenic E600  	/Windows XP
echo [2]Scenic E600  	/Windows XP Terminal Klient
echo [0]VELG NYTT PC-merke  
echo [q]QUIT    / Tilbake til prompt
echo.
choice /c:1234567890q
if errorlevel=1 set type=1
if errorlevel=2 set type=2
if errorlevel=3 set type=3
if errorlevel=4 set type=4
if errorlevel=5 set type=5
if errorlevel=6 set type=6
if errorlevel=7 set type=7
if errorlevel=8 set type=8
if errorlevel=9 set type=9
if errorlevel=10 set type=10
if errorlevel=11 set type=11
if %type%==1 goto _scenice600
if %type%==2 goto _scenice600-tc
if %type%==3 goto _FUJITSU-SIEMENS
if %type%==4 goto _FUJITSU-SIEMENS
if %type%==5 goto _FUJITSU-SIEMENS
if %type%==6 goto _FUJITSU-SIEMENS
if %type%==7 goto _FUJITSU-SIEMENS
if %type%==8 goto _FUJITSU-SIEMENS
if %type%==9 goto _FUJITSU-SIEMENS
if %type%==10 goto _velg
if %type%==11 goto _end

 

-Trond

Lenke til kommentar

ECHO Velkommen
ECHO %USERNAME%
ECHO.
ECHO.

SLEEP 1

ECHO Trykk 1 for aa gaa til meny.
ECHO.
ECHO Trykk 2 for aa fortsette i Windows.



CHOISE /c:12>
IF errorlevel=1 set valg=1
IF errorlevel=2 set valg=2
IF %valg%==1 goto MENY
IF %valg%==2 goto QUIT

ECHO Du maa ta et valg!


:MENY
ECHO Her er menyen din.
ECHO Håper den smaker.
GOTO DONE


:QUIT
ECHO Avslutter om 3 sek.
ECHO Snakkes :)
ECHO.
SLEEP 1
ECHO 3
SLEEP 1
ECHO 2
SLEEP 1
ECHO 1
SLEEP 1
EXIT


:DONE
PAUSE

 

 

Har fått ordna choise, men det som skjer her nå er at bat-fila lukkes før jeg rekker å se

ECHO Trykk 1 for aa gaa til meny.
ECHO.
ECHO Trykk 2 for aa fortsette i Windows.

 

Hvorfor det?

Lenke til kommentar

Du skal få koden til et script jeg har laget.

Prøv å forstå ut fra den.

 

@ECHO off
color 71
title CyberCompleX Net-Tool V1.2  [by Zen]
break off
cls
:start
ECHO :::::::::::::::::::::
ECHO ::CCX Net-Tool V1.2::
ECHO :::::::::::::::::::::
ECHO.
ECHO 1. NetSend
ECHO 2. IP Refresh
ECHO 3. Tracert
ECHO 4. Ping
ECHO 5. IP Config
ECHO -
ECHO 9. Cancel Shutdown
ECHO 0. Exit
ECHO.
set choice=
set /p choice=Nr: 
ECHO.
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' goto netsend
if '%choice%'=='2' goto refresh
if '%choice%'=='3' goto tracert
if '%choice%'=='4' goto ping
if '%choice%'=='5' goto config
if '%choice%'=='9' goto cancel
if '%choice%'=='0' goto EXIT
ECHO "%choice%" is not valid please try again.
ECHO.
ECHO.
goto start


:netsend
ECHO.
ECHO.
ECHO.
ECHO :::::::::::::::::::::::::::
ECHO ::CCX Net-Tool -- NetSend::
ECHO :::::::::::::::::::::::::::
ECHO.
ECHO  Bruk _ istede for mellomrom. (eks. Hei_hele_norge)
ECHO  MAX 50 tegn
ECHO.
set melding=
set /p melding=Din melding: 
if not '%melding%'=='' set melding=%melding:~0,50%
ECHO.
set name=
set /p name=Navn pAA PC'n: 
if not '%name%'=='' set name=%name:~0,50%
net send %name% %melding%      -CCX Tool V1.2
ECHO.
ECHO.
goto start


:refresh
ipconfig /release
ipconfig /renew
ECHO.
ECHO.
goto start


:cancel
shutdown -a
ECHO.
ECHO.
goto start


:tracert
ECHO :::::::::::::::::::::::::::
ECHO ::CCX Net-Tool -- Tracert::
ECHO :::::::::::::::::::::::::::
ECHO.
set target=
set /p target=Skriv inn adresse:
ECHO.
set hops=
set /p hops=MAX hops(standard: 30): 
tracert /h %hops% %target%
pause
ECHO.
ECHO.
goto start


:ping
ECHO ::::::::::::::::::::::::
ECHO ::CCX Net-Tool -- Ping::
ECHO ::::::::::::::::::::::::
ECHO.
set ptarget=
set /p ptarget=Skriv inn adresse:
ECHO. 
ping %ptarget%
ECHO.
pause
ECHO.
ECHO.
goto start

:config
ipconfig
ECHO.
pause
ECHO.
ECHO.
goto start

:exit
exit

 

Se og lær.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...