da.phhsnews.com


da.phhsnews.com / Sådan skrives et batch script på Windows

Sådan skrives et batch script på Windows


Ved du, hvordan du bruger kommandoprompt? Hvis du gør det, kan du skrive en batchfil. I sin enkleste form er en batch-fil (eller batch script) en liste over flere kommandoer, der udføres, når du dobbeltklikker på filen. Batch-filer går helt tilbage til DOS, men arbejder stadig på moderne versioner af Windows.

PowerShell-scripts og Bash-scripts kan være mere kraftfulde, men batch-filer kan stadig være meget nyttige, hvis du skal køre grundlæggende Windows-kommandoer.

Batchfil Basics

En batchfil er simpelthen en tekstfil gemt med .bat filtypenavnet. Du kan skrive en ved hjælp af Notesblok eller et mere avanceret tekstredigeringsprogram som Notepad ++, men brug ikke et tekstbehandlingsprogram som Microsoft Word.

Lad os lave en enkel batchfil. Først skal du åbne Notesblok. Indtast følgende linjer i det:

ECHO OFF ECHO Hello World PAUSE

Derefter gem filen ved at klikke på Arkiv> Gem. Giv det et navn, du kan lide, men erstat standard .txt filudvidelsen med .bat-udvidelsen.

Du kan f.eks. Nævne dethello_world.bat.

Du har nu en batch-fil med .bat filtypenavnet. Dobbeltklik på det for at køre det. Denne særlige batchfil indstiller ECHO (som rydder udgangen ved at skjule kommandoerne fra at blive udskrevet ved prompten, udskriver teksten "Hello World" til skærmen og venter derefter på, at du trykker på en tast, inden den slutter.

Hvis du ikke tilføjedePAUSEtil filen, ville batchfilen blot køre sine kommandoer og derefter lukke automatisk. I dette tilfælde ville det udskrive "Hello World" til vinduet og derefter straks lukke Kommandopromptvindue Når du hurtigt vil køre kommandoer uden at se output, kan du udelade dette. Hvis du kører flere kommandoer, kan du placere kommandoenPAUSEmellem dem.

Skrivning af en Mere kompleks batchfil

Det er grundlæggende nemt at oprette en batchfil. Det eneste du skal ændre er, hvad du skriver i Notepad. Hvis du vil køre flere kommandoer, skriver du hver enkelt på sin egen linje og batchfilen kører hver en i rækkefølge.

Lad os sige, at vi vil skrive en batchfil, der kører flere netværksdiagnoser tic kommandoer. Vi vil muligvis køreipconfig / allfor at se netværksoplysninger,ping google.comfor at se, om Googles servere reagerer ogtracert google.comfor at køre en traceroute til google.com og se om der er problemer på vej.

I den mest grundlæggende form kunne vi blot placere alle disse kommandoer i en batchfil, den ene efter den anden, sådan:

ipconfig / alle ping google.com tracert google.com PAUSE

Når vi kører denne fil, vil vi kun se output fra hver kommando lige efter hinanden. Men det er ikke nødvendigvis den ideelle måde at skrive en batchfil på.

Du kan f.eks. Tilføje kommentarlinjer. En hvilken som helst linje, der begynder med en::, er en kommentar linje og vil ikke blive udført. Det gør dem til en nyttig måde at forklare, hvad der sker i filen for alle, du kan give det til - eller til dit fremtidige selv, som måske glemmer, hvorfor du lægger en bestemt kommando derinde.

Du vil måske også tilføje " ECHO OFF "kommando til begyndelsen af ​​filen. Dette tilføjes typisk til starten af ​​de fleste batch-filer. Når du gør dette, vil kommandoerne ikke blive udskrevet til kommandopromptet, men resultaterne bliver. Du kan f.eks. Se netværksforbindelsesoplysningerne, men ikke linjen "ipconfig / all". De fleste mennesker er ligeglade med at se kommandoerne, så det kan rydde udgangen.

Så her er hvad der kan se ud:

:: Denne batchfil kontrollerer netværksforbindelsesproblemer. ECHO OFF :: Se netværksforbindelsesoplysninger ipconfig / all :: Kontrollér, om Google.com er tilgængelig ping google.com :: Kør en traceroute for at kontrollere ruten til Google.com-tracert google.com PAUSE

Der er andre retninger du kunne gå med en batchfil som denne. Du kan f.eks. Have din batch script køre ovenstående kommandoer og derefter dumpe output til en tekstfil, du kan se senere. For at gøre det, vil du bruge>>operatør efter hver kommando for at tilføje dens output til tekstfilen. Da vi alligevel vil læse produktionen fra tekstfilen, kan vi udelade kommandoenPAUSE.

: Denne batchfil kontrollerer netværksforbindelsesproblemer :: og gemmer output til a. txt fil. ECHO OFF :: Se netværksforbindelsesoplysninger ipconfig / all >> results.txt :: Kontroller, om Google.com er tilgængelig ping google.com >> results.txt :: Kør en traceroute for at tjekke ruten til Google.com tracert google. com >> results.txt

Når du har kørt det ovenstående script, vil du finde en fil med navnet results.txt i samme mappe som batchfilen med output fra kommandoerne. Vinduet Kommandoprompt lukkes automatisk, når batchfilen er færdig med at køre.

Eksemplet, som vi bruger ovenfor, er baseret på, at der faktisk udskrives information til kommandoprompt, så brugeren kan læse den. Imidlertid er mange batchfiler designet til at blive kørt ikke-interaktivt. Du kan f.eks. Have en batchfil, der sletter flere filer eller mapper, når du dobbeltklikker på den. Du skal bare bruge kommandoendeltil at slette filer eller kommandoendeltreefor at slette mapper. Husk, at du bare bruger de samme kommandoer, du vil køre i et kommandopromptvindue.

Grundlæggende er det punktet for de fleste batch-filer - bare kører et par kommandoer efter hinanden. Batchfiler kan imidlertid faktisk være betydeligt mere komplekse end dette. Du kan f.eks. Bruge "IF" -opgørelser sammen med kommandoen "GOTO" for at kontrollere værdien af ​​noget og derefter springe til forskellige linjer afhængigt af resultatet. Dette er mere som at skrive et faktisk lille program end et hurtigt og snavset script. Det er en grund til, at .bat-filer nogle gange kaldes "batch-programmer". Hvis du vil gøre noget mere komplekst, finder du masser af hjælpelinjer til at gøre specifikke ting med batchprogrammering online. Men nu ved du det grundlæggende om hvordan man smider en simpel sammen.


Forstyr ikke: Hvorfor vil du ikke trådløst oplade din smartphone

Forstyr ikke: Hvorfor vil du ikke trådløst oplade din smartphone

Trådløs opladning er overvurderet - i det mindste i sin nuværende form. Drømmen om trådløs strøm lyder godt, men de nuværende trådløse opladningsteknologier er mere "plugless" end "wireless". De er også mindre bekvemme, langsommere og mindre effektive end bare at tilslutte telefonen. Lad os være ærlige: Trådløse opladere er mere interessante som et bevis på koncept og et glimt på fremtidige teknologier, end de er praktiske.

(how-to)

Sådan gendannes filer fra en tidsmaskinesikkerhedskopiering på Windows

Sådan gendannes filer fra en tidsmaskinesikkerhedskopiering på Windows

Windows kan normalt ikke læse Time Machine-sikkerhedskopier - faktisk forstår den ikke engang HFS + -filformatet Macs kræver deres Time Machine drev. Men du kan gendanne alle filerne fra din Time Machine-backup på din Windows-computer. Dette giver dig ikke mulighed for nemt at gendanne indstillinger og applikationer, som generelt er Mac-specifikke.

(how-to)