------------------------------------------------------------------------------------------------ CyberZeus\' Batch-Guide version 1.072, 16/9/00 ------------------------------------------------------------------------------------------------
SES BEDST I EN OPLØSNING PÅ MINDST 600x800!
INDHOLD:
1.0: Hvad er BATCH-filer? 2.0: Hvordan laves BATCH-filer? 2.1: Kommandoer. 2.2: Andet 3.0: Brugerinput (parametre). 4.0: Tips. 5.0: Hvem har skrevet dette dokument?
1.0: Hvad er BATCH-filer? Hvis du slår op under batch i en engelsk/dansk ordbog vil du opdage at det - blandt andet - betyder serie og det beskriver det egentlig meget godt. Batch-filer er nemlig en serie af kommandoer, en slags DOS-makroer, små programmer der automatiserer kedelige opgaver.
2.0: Hvordan laves BATCH-filer? Batchfiler kan laves i næsten ethver tekstbehandlingsprogram (som Notesblok eller go\'e gamle MS-DOS Editor - skriv edit og tryk enter i DOS-prompten), men tekstformateringer kan ikke bruges. Kun almindelig ASCII tekst. Filerne skal blot gemmes med bat som efternavn (som for eksempel \"Whatever.bat\"). Da BATCH-filer er lavet til DOS er det smartest kun at give dem et navn på otte bogstaver for hvem gider skrive \"minbat~1.bat\"? Forøvrigt behøver man ikke skrive kommandoer o.s.v. med stort, men det fortrækker jeg at gøre. Denne guide beskriver Batch-filer i Windows 95 og nogle kommandoer virker ikke i DOS eller Windows NT.
2.1: Kommandoer. Til BATCH-filer kan bruges alle DOS-kommandoer:
De mest almindelige: COPY = kopier DEL = slet DELTREE = slet bibliotek og underbiblioteker MOVE = flyt RENAME = omdøb MD = opret bibliotek CD.. = tilbage til forrige bibliotek FORMAT = Formater diskette eller harddisk (en dum ide...!)
Og de mere ualmindelige: ECHO = Angiver at noget tekst ikke er en kommando og styrer kommandoekkoet. For eksempel: Ved at skrive ECHO Hej vises følgende på skærmen: C:\\>ECHO Hej Hej Ved at skrive ECHO OFF øverst i ens BATCH-fil slås kommandoekkoet fra. I eksemplet ville ECHO Hej i batchfilen resultere i følgende på skærmen: Hej Man kan altså ikke se kommandoen, kun resultatet. ECHO. viser en blank linie. Se @.
EXIT = I DOS afslutter EXIT batch-filen og vender tilbage til prompten. I Windows 95 95 skal man skrive CLS EXIT for at afslutte filen, lukke prompten og vende tilbage til Windows. Det er fordi Windows 95 ikke vil afslutte batch-filer hvis der står noget på skærmen.
CALL = Bruges til at starte en batch-fil fra en anden. Hvis denne kommando ikke bruges, startes den anden batch-fil uden at fortsætte den første fil bagefter. Eksempel:
1.bat: @ECHO OFF ECHO Starter den anden batch-fil. CALL 2.bat ECHO Tilbage fra 2.bat.
2.bat: ECHO OFF ECHO Kører batch-fil nummer 2.
Når man starter filen \"1.bat\" vises følgende på skærmen:
Starter den anden batch-fil. Kører batch-fil nummer 2. Tilbage fra 2.bat
CHOICE = Giver brugeren et valg. Som standard er valget j/n. For at ændre det skal man skrive CHOICE efterfulgt af /C: og valgmulighederne. Det første valg returnerer \"errorlevel 1\", det andet \"errorlevel 2\" og så videre. Hvis man skriver /N efter choice vises valgene (som standard følgende klamme: [J,N]?) ikke og /S skelner mellem store og små bogstaver. /T c:nn vælger c efter nn sekunder. Til sidst kan man skrive en besked. Her er et eksempel der viser hvordan man kan lave en simpel menu:
@ECHO OFF ECHO DOS-menu ECHO -------------------- ECHO 1 MS-DOS Editor ECHO 2 Windows ECHO X Afslut ECHO -------------------- CHOICE /c:12X /S /N /T:X,5 Hvilket program vil du starte? IF ERRORLEVEL 3 GOTO EXIT IF ERRORLEVEL 2 GOTO WIN IF ERRORLEVEL 1 GOTO EDIT :EDIT EDIT :WIN WIN :EXIT
Errorlevel skal skrives med den højeste værdi øverst.
CLS = Rydder skærmen GOTO = Går til en andet sted i batch-filen som markeres med :navn. Se IF. IF = Udfører en batch-fil efter nogle betingelser. For eksempel finder følgende ud af om Windows er i C:\\Windows eller C:\\WIN95 og kopierer \"WIN.EXE\" til drev A:
@ECHO OFF IF EXIST C:\\WINDOWS GOTO 1 IF EXIST C:\\Win95 GOTO 2 :1 COPY C:\\WINDOWS\\WIN.COM A: GOTO END :2 COPY C:\\WIN95\\WIN.COM A: GOTO END :END
IF NOT virker omvendt.
MORE = Viser output en skærm af gangen. For eksempel viser \"DIR | MORE\" indholdet af et bibliotek ligesom /P.
PAUSE = Skriver \"Tryk på en vilkårlig tast for at fortsætte...\" på skærmen. Dette kan især bruges hvis brugeren af ens BATCH-fil skal læse store mængder tekst. Se også MORE.
PROMPT = Ændrer promptens udseende. Du kan eksempelvis skrive din helt egen tekst, ændre den til Windows\' versionsnummer (hva\' så end man sku\' bruge det til), klokken, datoen og så videre.
SET = sætter et eller andet til et eller andet. For eksempel:
@ECHO OFF SET TEMP=C:\\TEMP ECHO Temp-bibliotek er %temp%
Det ville vise:
Temp-bibliotek er C:\\TEMP.
Af det kan man også se hvad % kan bruges til.
START = Starter et DOS- eller Windowsprogram. Hvis du starter et Windowsprogram vender du automatisk tilbage til Windows når programmet er startet.
SUBST = Associerer et bibliotek med et drevbogstav.
TYPE = Viser indholdet af en tekstfil. For eksempel viser \"type readme.txt\" indholdet af filen \"readme.txt\", men selvfølgelig kun hvis den ligger i sammen bibliotek som batch-filen. Hvis ikke tilføjes sti: \"type C:\\dokumenter\\readme.txt\" (og ja, uden aprostrof). Se MORE.
2.2: Andet >> = Indsætter et stykke tekst eller et kommando-output i en fil. Eksempler:
ECHO Batch-Guide>>Batch.txt
DIR>>Log.txt
> = Det samme som >>, men > fjerner samtidig alt andet i filen.
> NUL = Fjerner resultatet (outputtet) fra kommandoen. Et eksempel:
COPY BATCH.TXT A:\\ > NUL
Og et andet der viser hvordan > NUL kan bruges til at ændre PAUSE-kommandoens standardtekst:
ECHO Teksten PAUSE > NUL
@ = Angiver at kommandoen ikke skal vises. Hvis man for eksempel (hvor har jeg skrevet det mange gange...) skriver COPY Batch.txt C:\\Temp i sin batch-fil vises hele kommandoen, parametre og resultatet. Hvis man derimod skriver @COPY Batch.txt C:\\Temp vises kommandoen ikke, kun resultatet, det vil sige \"1 fil(er) er kopieret\". Læs om > NUL for at se hvordan du fjerner \"Output\'et\".
Skriv kommandoen efterfulgt af /? i prompten for at se parametre og en beskrivelse af hvad kommandoen gør.
For at starte et program kan du nøjes med at skrive dets sti og eventuelle parametre (For eksempel \"C:\\Windows\\Win.exe\" for at starte Windows). Du kan godt placere kommandoer efter starten af et program. De vil så blive udført når programmet afsluttes.
3.0: Brugerinput (parametre). Brugerinput behandles i batchfiler som et % efterfulgt af et tal mellem 0 og 9. Brugeren skal så skrive batchfilens navn efterfulgt af parametrene. 0 er iøvrigt batchfilen selv, så det kan ikke bruges til input. For eksempel et installationsprogram hvor brugeren skal skrive harddiskens bogstav:
@ECHO OFF CLS IF %1\"==\" GOTO DREV MD %1\\Program COPY *.* %1\\PROGRAM %1 CD\\PROGRAM PROGRAM GOTO END :DREV CLS ECHO Du har ikke skrevet din harddisks drevbogstav. GOTO END :END
4.0: Tips. Ved at at skrive stien til dine batch-filer i SET PATH linien i din autoexec.bat kan de nåes fra alle steder i prompten. Hver sti i SET PATH linien separeres af ; og du har muligvis ikke linien i forvejen.
Hvis du har et problem er nyhedsgruppen alt.msdos.batch et godt sted at få råd.
Men det vigtigste er at prøve sig frem.
5.0: Hvem har skrevet dette dokument: Denne lille fil er skrevet af CyberZeus (cyberzeus@get2net.dk) den 17/5/1998 og opdateret siden. Jeg kan selvfølgelig ikke tage ansvaret for hvad denne fil skulle føre til (for eksempel at du formaterer harddisken ved en fejl). Du er velkommen til at sende mig en kommentar, rette mig hvis jeg har skrevet noget forkert, eller sende et tip.
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.