Avatar billede sjqlund Nybegynder
03. november 2003 - 17:17 Der er 5 kommentarer

Batch programmering problem, help

Jeg har lige lånt en bog om batch programmering..
Det skal siges, at den er skrevet til Dos 6.. men af den grund kan man stadig lære mange ting derfra, og bruge dem i windows..

Mit problem er: Jeg vil gerne gøre sådan at jeg kan gå ind i en batch fil, og så spørger den mig, vil du åbne DANSK.TXT eller TYSK.TXT.. Hvorefter jeg bare skriver tysk, og så åbner den filen.. (Det kunne da være meget smart med en batch fil på skrivebordet, som var genvej til ALLE spil  )


@ECHO OFF
:LOOP
ECHO.
ECHO Du skal nu vaalge hvilken af disse to filer du vil ind i..
ECHO.
Pause > NUL
ECHO.
ECHO Tysk
ECHO.
ECHO DANSK
ECHO.

PAUSE > NUL

IF "%1"=="TYSK" GOTO TYSK
IF "%1"=="DANSK" GOTO DANSK
GOTO FEJLSPROG

:Tysk
ECHO du har valgt tysk
START c:\batchkodning\TYSK.TXT

:DANSK
ECHO Du har valgt dansk
START c:\batchkodning\DANSK.TXT

:FEJLSPROG
ECHO kan ikke anvendes.

GOTO :LOOP

Så er problemet at, jeg kan køre filen, men jeg får slet ikke lov til at skrive noget, fx TYSK.. Hvis jeg trykker på noget, så starter den bare forfra..

Hvordan får jeg mulighed får at skrive noget?

Den blev lidt lang.. håber i forstår det, har måske skrevet det lidt 'uklart'

Håber ikk jeg er helt forkert på den

Se evt. det her:
http://www.tweak.dk/forum/thread.php?threadid=9568&boardid=3&styleid=1
Avatar billede sjqlund Nybegynder
03. november 2003 - 17:29 #1
har prøvet at ændre lidt på den, dog er den grundlæggende det samme:

@ECHO OFF

ECHO hej, det er en test ;)
ECHO.
ECHO A udfQr DANSK.TXT
ECHO.
ECHO B udfQr TYSK.TXT
ECHO.
ECHO C udfQr afslut
ECHO.
PAUSE

CHOICE /C:ABC Tast et valg:

IF ERRORLEVEL 1 GOTO :TYSK
IF ERRORLEVEL 2 GOTO :DANSK
IF ERRORLEVEL 3 GOTO :SLUT

:DANSK
START c:\batchkodning\DANSK.TXT

:TYSK
START c:\batchkodning\TYSK.TXT


:SLUT
exit

I stedet for at jeg skal skrive noget.. så åbner den bare TYSK.txt :rolleyes:
Avatar billede sjqlund Nybegynder
03. november 2003 - 17:33 #2
eller.. ved ikk om det er grundlæggende det samme.. en sagde at jeg skulle prøve med IF ERRORlevel osv..
Avatar billede bertelbrander Novice
03. november 2003 - 20:24 #3
Den første bat-fil forventer at du kører den med DANSK eller TYSK som parameter, ellers vil den køre i en uendelig løkke. Prøv at starte en kommando prompt og kør filen derfra, med parameteren DANSK eller TYSK.

Det er ikke alle versioner af windows der har en choice kommando. På win2000 (og nok også XP) kan man bruge:

set /P Valg="Tast et Valg: "
if [%Valg%]==[TYSK] echo Du valgte tysk

Husk at bat-filer skelner mellem store og små bogstaver når du bruger if medmindre du bruger if /I

Når man skriver:
if errorlevel 1 goto :tysk
betyder det i virkeligheden "if errorlevel større end eller lig med 1", så du skal altid starte med at teste oppe fra og ned, dvs fra 3 -> 2 -> 1
Avatar billede sjqlund Nybegynder
03. november 2003 - 20:39 #4
Mange tak, du skal huske at jeg er ret ny til det her :P
Men nu ser det sådan ud:

@ECHO OFF
:LOOP
ECHO.
ECHO Du skal nu vaalge hvilken af disse to filer du vil ind i..
ECHO.
Pause > NUL
ECHO.
ECHO Tysk
ECHO.
ECHO DANSK
ECHO.

PAUSE > NUL
SET /P VALG="Tast et valg:"
IF [%Valg%]==[TYSK] GOTO TYSK
IF [%Valg%]==[DANSK] GOTO DANSK
GOTO FEJLSPROG

:Tysk
ECHO du har valgt tysk
START c:\batchkodning\TYSK.TXT

:DANSK
ECHO Du har valgt dansk
START c:\batchkodning\DANSK.TXT

:FEJLSPROG
ECHO kan ikke anvendes.

GOTO :LOOP

Problemet er stadig, at når jeg skriver TYSK , så åbner den både Dansk og Tysk.. Mens at hvis jeg bare skriver DANSK, så åbner den kun DANSK, og det virker som det skal.. hvad er problemet ?
Avatar billede sjqlund Nybegynder
03. november 2003 - 20:52 #5
Så har jeg fået det til at virke..

EN inde fra www.tweak.dk hjalp mig, så ingen point, sry :P

Den blev sådan her:

@ECHO OFF
ECHO.
ECHO Du skal nu vaalge hvilken af disse to filer du vil ind i..
ECHO.
Pause > NUL Tryk en tast
ECHO.
ECHO TYSK, tryk 1 for tysk
ECHO.
ECHO DANSK, tryk 2 for dansk
ECHO.

Set /P Choice=Make your choice: %

IF %choice%'==1' START c:\batchkodning\TYSK.TXT
IF %choice%'==2' START c:\batchkodning\DANSK.TXT
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester