Nätverksklassen

DOS-sidan

Här kan Du se några exempel på hur BAT-filer skrivs. Den första genererar en meny när datorn startas och beroende på vilket val man gör anropas en annan BAT-fil för att gå vidare. Kommentarer till (nästan) varje rad har jag infogat strax ovanför varje kommando (i kursiv stil) men dessa är inte nödvändiga för filens funktion. Kommentarer infogas i BAT-filer med "REM" framför för att ignoreras av processorn.

Understruket-blått är bara länkar inom dokumentet (för att underlätta sökningen lokalt) och skall alltså inte skrivas in så i BAT-filen!

Namnen på Bat-filerna är fritt valbart bara man kommer ihåg att när man anropar med kommandot CALL, ange rätt namn till respektive fil (eller plats i en och samma fil).

För att få upp menyn automatiskt vid datorstart skriver man in menyfilens namn sist i AUTOEXEC.BAT (utan ändelsen) med kommandot CALL före, alltså i det här fallet: CALL M.

@ECHO OFF
rem M.BAT =namnet på filen
CLS
ECHO.
ECHO.
ECHO MS-DOS 6.22 STARTMENY
ECHO ******************************************
ECHO D DOS-PROMPT
ECHO F FORMATERA DISKETT
ECHO B SÄKERHETSKOPIERING (BACKUP)
ECHO ******************************************
ECHO Vid uteblivet val, automatisk hopp till DOS-PROMPT efter 30 sek.
ECHO (I händelse av fel tangenttryckning sker ingen automatisk hopp)
ECHO ---------------------------------------------------------------------------------------
ECHO Skriv "M" och tryck Return vid A-prompten för att återgå till menyn
ECHO **********************************************************************
ECHO.
rem Med växeln T väljer man alternativet som skall vara förvalt (standard) samt nedräkningstiden dit.
CHOICE /C:DFB /T:D,30 VÄLJ ÖNSKAT ALTERNATIV
IF ERRORLEVEL 3 GOTO BACKrem Alternativ B, backup-programmet anropas (man börjar med sista alternativet på menyn!)
IF ERRORLEVEL 2 GOTO FORMrem Alternativ F, formaterar disketter
IF ERRORLEVEL 1 GOTO ENDrem Alternativ D, man kommer till A-prompten
IF ERRORLEVEL 0 GOTO END
:FORM
CALL FM rem Anropar bat-filen för att formatera disketter
GOTO END
:BACK
CALL B rem Anropar bat-filen för att starta MSBACKUP-programmet
GOTO END
:END
CLS

Första sidan

rem FM.BAT
@ECHO OFF
CLS
ECHO.
ECHO FORMATERINGSMENY
ECHO *********************************************************
ECHO R Vill Du formatera disketten rent?
ECHO S Vill Du ha med systemfilerna på disketten?
ECHO B Formatera en diskett samt RESERVERA utrymme
ECHO för senare kopiering av systemfiler
ECHO *********************************************************
ECHO Om Du avbryter med Ctrl+C, tryck N för återgång till huvudmenyn, J för A-prompt!
CHOICE /C:RSB VÄLJ ÖNSKAT ALTERNATIV!
IF ERRORLEVEL 3 GOTO FB
IF ERRORLEVEL 2 GOTO FS
IF ERRORLEVEL 1 GOTO FR
IF ERRORLEVEL 0 GOTO AV
:FR
CALL F
GOTO END
:FS
CALL FORMS
GOTO END
:FB
CALL FRES
GOTO END
:AV
CALL M
:END

Första sidan

Formateringsmenyn

rem F.BAT
CLS
ECHO Formaterar disketten UTAN systemfiler!
ECHO VARNING! ALL DATA PÅ DISKETTEN KOMMER ATT RADERAS!
ECHO Avbryt med Ctrl+C
ECHO.
FORMAT A: /U
rem Om användaren avbryter med Ctrl-C (errorlevel 3) får man ett felmeddelande (7 rader längre ner)
IF ERRORLEVEL 3 GOTO FEL
rem Om formatering lyckas (errorlevel 0) avslutas programmet med den vanliga frågan om man vill formatera flera disketter?
IF ERRORLEVEL 0 GOTO SLUT
rem Om man svarar NEJ på frågan om flera disketter (errorlevel 5)
IF ERRORLEVEL 5 GOTO SLUT
:FEL
ECHO DU AVBRÖT FORMATERINGEN!
PAUSE rem Orsakar en paus för att användaren skall hinna läsa meddelandet; man får upp texten "Tryck på en tangent för att fortsätta"
:SLUT
rem återhopp till huvudmenyn
CALL M

Första sidan

Formateringsmenyn

rem FORMS.BAT
rem Kommentarer se filen F.bat
CLS
ECHO Formaterar disketten MED systemfilerna på!
ECHO VARNING! ALL DATA PÅ DISKETTEN KOMMER ATT RADERAS!
ECHO Avbryt med Ctrl+C
ECHO.
FORMAT A: /U /S
IF ERRORLEVEL 3 GOTO FEL
IF ERRORLEVEL 0 GOTO SLUT
IF ERRORLEVEL 5 GOTO SLUT
:FEL
ECHO DU AVBRÖT FORMATERINGEN!
PAUSE
GOTO SLUT
:SLUT
CALL M

Första sidan

Formateringsmenyn

rem FRES.BAT
rem Kommentarer se filen F.bat
CLS
ECHO Formaterar disketten UTAN systemfiler men MED RESERVERAT utrymme till dessa!
ECHO VARNING! ALL DATA PÅ DISKETTEN KOMMER ATT RADERAS!
ECHO Avbryt med Ctrl+C
ECHO.
FORMAT A: /U /B
IF ERRORLEVEL 3 GOTO FEL
IF ERRORLEVEL 0 GOTO SLUT
IF ERRORLEVEL 5 GOTO SLUT
:FEL
ECHO DU AVBRÖT FORMATERINGEN!
PAUSE
:SLUT
CALL M

En av anledningarna till att man reserverar utrymme för senare kopiering av systemfilerna (med kommandot SYS) är att en programmakare inte vet om kunden använder MSDOS eller IBMDOS.

Första sidan

Formateringsmenyn

rem B.BAT
rem JAG HAR DOS 6.22 PÅ ENHET E, DÄRAV ALLA SÖKVÄGAR LÄNGRE NER men dessa kan förstås reduceras om man så önskar!
@ECHO OFF
rem Kollar om MSBACKUP finns på C och kör i så fall därifrån, fortsätter annars kolla på D
IF NOT EXIST C:\DOS\MSBACKUP.EXE GOTO BACK1
C:\DOS\MSBACKUP
GOTO END
:BACK1
rem Kollar om MSBACKUP finns på D och kör i så fall därifrån, fortsätter annars kolla på E
IF NOT EXIST D:\DOS\MSBACKUP.EXE GOTO BACK2
D:\DOS\MSBACKUP
GOTO END
:BACK2
rem Kollar om MSBACKUP finns på E och kör i så fall därifrån, går annars till OUT (6 rader längre ned)
IF NOT EXIST E:\DOS\MSBACKUP.EXE GOTO OUT
E:\DOS\MSBACKUP
rem Finns programmet varken på C, D eller E (errorlevel 4), får man ett meddelande (fyra rader längre ned)
IF ERRORLEVEL 4 GOTO OUT
GOTO END
:OUT
ECHO KAN INTE HITTA PROGRAMMET FÖR BACKUP!
PAUSE
GOTO END
:END
rem återhopp till huvudmenyn
CALL M

Första sidan

Formateringsmenyn

Vill man exempelvis starta Norton Commander som finns på en diskett är man tvungen att lägga sig i rätt katalog för att kunna starta det. Då får man skriva så här mycket: cd dprogram <enter>, cd norton <enter>, nc <enter>. En kort och koncis BAT-fil som följande kan vara bra att ha på disketten. Man skriver då bara N vid A-prompten och trycker Enter.

@echo off
rem n.bat
A:\dprogram\norton\nc.exe

Egentligen är det bara den sista raden man behöver skriva och spara sedan filen med valfritt namn och ändelsen BAT.

Om man vill skriva samma fil direkt på skärmen (utan att öppna en editor) gör man följande vid prompten:

copy con n.bat <enter>
A:\dprogram\norton\nc.exe <enter>
<Ctrl+Z> <enter>

Man får då meddelandet "1 fil(er) kopierade" och återgång till prompten.

Första sidan

Formateringsmenyn