ViVentis Skrevet 28. februar 2005 Skrevet 28. februar 2005 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"
GeirGrusom Skrevet 28. februar 2005 Skrevet 28. februar 2005 (endret) 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 28. februar 2005 av GeirGrusom
ViVentis Skrevet 28. februar 2005 Forfatter Skrevet 28. februar 2005 SET valg= SET /p valg=Valg: IF(valg== 1) GOTO VIS_MENY IF(valg== 2) GOTO EXIT PAUSE GOTO EXIT :VIS_MENY ECHO HER ER MENYEN PAUSE :EXIT exit Prøver dette men det skjer ingenting.
ViVentis Skrevet 28. februar 2005 Forfatter Skrevet 28. februar 2005 (endret) IF(valg== 1) GOTO VIS_MENY IF(valg== 2) GOTO EXIT :VIS_MENY ECHO HER ER MENYEN PAUSE :EXIT exit Har kommet frem til dette, menyvalg 1 fungerer, men om jeg velger 2 så kommer jeg uansett til :VIS MENY Endret 28. februar 2005 av ViVentis
skille Skrevet 28. februar 2005 Skrevet 28. februar 2005 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
ViVentis Skrevet 1. mars 2005 Forfatter Skrevet 1. mars 2005 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?
skille Skrevet 1. mars 2005 Skrevet 1. mars 2005 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
ViVentis Skrevet 1. mars 2005 Forfatter Skrevet 1. mars 2005 Forstår ikke helt. Det er en exe fil, men jeg kan ikke kjøre den.
skille Skrevet 1. mars 2005 Skrevet 1. mars 2005 Hmm, kanskje den er blitt korupt. Den virka her. Prøv å last ned på nytt, lagre den, så kjøre den i ei tom mappe (den pakker automatisk ut en del filer) -Trond
ViVentis Skrevet 1. mars 2005 Forfatter Skrevet 1. mars 2005 Nei... det samma gang på gang. Du fikk med deg at jeg satt på WinXP? Takker for at du prøver!
ViVentis Skrevet 1. mars 2005 Forfatter Skrevet 1. mars 2005 (endret) Fikk pakka ut i winrar Men hva gjør jeg så? Endret 1. mars 2005 av ViVentis
ViVentis Skrevet 1. mars 2005 Forfatter Skrevet 1. mars 2005 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?
skille Skrevet 1. mars 2005 Skrevet 1. mars 2005 Jeg og sitter i XP. Har du ei fil som heter sleep? jeg har ikke det.. Choice skrives choice (med c). Prøv å start fila fra command. Så kan du å se om du får noen feilmld.. -Trond
-¤Zen¤- Skrevet 6. mars 2005 Skrevet 6. mars 2005 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.
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå