TobiasG Skrevet 27. februar 2009 Del Skrevet 27. februar 2009 Hei, se på denne; :page0 cls Set /p test= if %test% equ 1 goto page1 if %test% equ 2 goto page2 if %test% equ 0 goto page0 goto page0 :page1 cls *txt* :page2 cls *text* når en slik kode brukes så vil den lukke ned bat filen hvis man svarer tomt, men hvis jeg svarer f.eks. 0, og deretter tomt, så vil den ikke lukke seg (test=0) Hvordan kan man slippe av den lukker seg ned ved tomt svar første gang? Lenke til kommentar
aklla Skrevet 2. mars 2009 Del Skrevet 2. mars 2009 en del grunnleggende feil her. første feil: det som er galt når du ikke skriver noe er at ingen av IF-setningene blir sanne , dermed går den til neste linje, som er "goto page0". trykker du enter igjen uten å skrive noe skjer det samme. du må altså skrive hva den skal gjøre under IF-setningene så den vet hva den skal gjøre hvis ingen av IF-setningene er sanne. når du skriver først 0 og så ingenting vil den huske at du skrev 0 første gangen, det ligger jo allerede i variabelen %test%. du må fjerne den før du spør etter ny variabel. her er ett script som funker greit(slik disse pleier å funke, hva du er ute etter vet jeg ikke) @echo off :page0 cls set test= Set /p test= if %test% equ 1 goto page1 if %test% equ 2 goto page2 if %test% equ 0 goto page0 exit goto page0 :page1 cls *txt* exit :page2 cls *text* exit Lenke til kommentar
TobiasG Skrevet 3. mars 2009 Forfatter Del Skrevet 3. mars 2009 (endret) en del grunnleggende feil her.første feil: det som er galt når du ikke skriver noe er at ingen av IF-setningene blir sanne , dermed går den til neste linje, som er "goto page0". trykker du enter igjen uten å skrive noe skjer det samme. du må altså skrive hva den skal gjøre under IF-setningene så den vet hva den skal gjøre hvis ingen av IF-setningene er sanne. når du skriver først 0 og så ingenting vil den huske at du skrev 0 første gangen, det ligger jo allerede i variabelen %test%. du må fjerne den før du spør etter ny variabel. her er ett script som funker greit(slik disse pleier å funke, hva du er ute etter vet jeg ikke) @echo off :page0 cls set test= Set /p test= if %test% equ 1 goto page1 if %test% equ 2 goto page2 if %test% equ 0 goto page0 exit goto page0 :page1 cls *txt* exit :page2 cls *text* exit Nei, det samme vil skje der, meningen er jo at programmet IKKE skal lukke seg hvis du forlater variabelen tom, altså bare klikker enter istedet for å skrive inn noe, jeg kan ikke batch veldig godt, men det er jo line reading, slik du satt det opp vil den jo exit'e anyway, den vil ikke endre variabelen til hver av de på IF listen. Hvis du leser; :page0 cls Set /p test= if %test% equ 1 goto page1 if %test% equ 2 goto page2 if %test% equ 0 goto page0 goto page0 ************** :page0 cls (clearscreen) set /p test= (set variabel, spørrestreng) if %test% equ 1 goto page1 (hvis variabel test (equicez) = 1, gå til page1) if %test% equ 2 goto page2 (hvis variabel test (equicez) = 2, gå til page2) if %test% equ 0 goto page0 (hvis variabel test (equicez) = 3, gå til page3) goto page0 (gå til page0) må ha selvfølgelig ha en pause > nul command etter teksten på de forskjellige sidene, men ja. det er ikke poenget. hvis du tenker deg at den leser en og hver linje så når du bare klikker enter (blank) vil IKKE variabelen være 1,2 eller 0. Så "goto page0" men den vil nettopp ikke gjøre dette, istedet for å gå til page0 vil den bare lukke seg =/ Til og med prøvd med command "else goto" men nei =/ Endret 3. mars 2009 av TobiasG Lenke til kommentar
bmwpower92 Skrevet 3. mars 2009 Del Skrevet 3. mars 2009 skjønner hva du mener, og kunne tenkt meg svar på denne selv. skal lage ett "multiscript" men jeg er ganske noob Lenke til kommentar
aklla Skrevet 3. mars 2009 Del Skrevet 3. mars 2009 har testet scriptet du laget på min maskin nå. den gjør akkurat det jeg sa den skulle gjøre. Vista du har kanskje? jeg har aldri hørt om at noe slikt skjer ihvertfall... men, jeg akkurat kommet hjem fra 16-timers arbeidsdag, på tide å legge seg og se på det mer i morgen. Lenke til kommentar
TobiasG Skrevet 4. mars 2009 Forfatter Del Skrevet 4. mars 2009 har testet scriptet du laget på min maskin nå.den gjør akkurat det jeg sa den skulle gjøre. Vista du har kanskje? jeg har aldri hørt om at noe slikt skjer ihvertfall... men, jeg akkurat kommet hjem fra 16-timers arbeidsdag, på tide å legge seg og se på det mer i morgen. Har vista x64 ja, så batch mulighetene er noe færre desverre.. Lenke til kommentar
bmwpower92 Skrevet 26. juli 2009 Del Skrevet 26. juli 2009 Hei Tobias, lenge siden du skrev dette, men prøver i hvertfall alikevel. det jeg har gjort er hovedsaklig og fylle in set test=999 og if %test% equ 999 goto page0 i tilegg til at jeg satt det sammen til ett helt skript som e klart for testing. dette gjør at filen registrerer ett tomt svar som 999 og du kan bruke if+goto kommandoene håper jeg hjalp deg med dette nå ettersom jeg selv hadde samme problem(som jeg skrev tidligere), og takket være Aklla fant jeg ut av det(etter litt fikling) vet forresten om et lignende problem og det er hvis du trykker space + enter så får du samme problem :S (cmd lukkes) @echo off :page0 cls set test=999 set /p test=write the page number you want to visit: if %test% equ 1 goto page1 if %test% equ 2 goto page2 if %test% equ 999 goto page0 goto page0 :page1 cls echo This is page 1 pause goto page0 :page2 cls echo This is page 2 pause goto page0 Lenke til kommentar
Hans_Henrik Skrevet 31. juli 2009 Del Skrevet 31. juli 2009 (endret) (sorry hvis det allerede er svart, gadd ikke lese alle reply's ) eksempel: IKKE GJØR: if %%1 == %blabla% GJØR: if "%%1" == "%blabla%" IKKE GJØR: if %test% equ 1 goto page1 GJØR: if "%test%" equ "1" goto page1 Endret 31. juli 2009 av Hans_Henrik Lenke til kommentar
aC Skrevet 13. august 2009 Del Skrevet 13. august 2009 @echo off :page0 cls set test= Set /p test=Enter shit: if "%test%"=="" ( goto :page0 ) if %test% equ 1 ( goto :page1 ) else ( if %test% equ 2 ( goto :page2 ) ) :page1 echo Page1 *txt* exit :page2 echo page2 *text* exit Else is the shit -aC Lenke til kommentar
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å