Bat-fil-kommandoer (Windows). Skrivning af bat-filer - eksempler på batch-filer

Når du arbejder på en computer, er der ofte behov for at gentage de samme DOS-kommandoer for at udføre periodisk udførte handlinger, opbygge en kompleks sekvens på flere niveauer eksekverbare kommandoer eller applikationer, automatisering af arbejde med applikationer og filer med eller uden brugerens deltagelse. Operativsystemet har mulighed for at skrive flere kommandoer i en bat-fil. På samme tid, blot ved at køre denne kommandofil (ofte kaldet et script eller blot en "batch-fil"), kan du udføre de foreskrevne kommandoer og ved at registrere den i begivenheder Windows skemalægger, kan du automatisere denne proces.

Funktioner af filerne af denne type er fraværet af nogen kode inde - der er kun urinformation, der læses og udføres af DOS-kommandoprocessoren, kompatibel med næsten alle versioner af operativsystemet Windows-systemer. En af lyse eksempler er filen autoexec.bat, som er nødvendig for at starte dette OS, da det er den, der udfører dens indstillinger under opstart.

Grundlæggende funktioner i batchfiler

Kommandoerne, som bat-filen indeholder, kan opdeles i flere grupper baseret på funktionalitet:

Designet til at vise en specifik værdi, sætning, applikation eller information;
- at lancere batchdokumenter;
- til arbejde med cykler;
- at skabe forgreningsudførelse ved hjælp af betingelser;
- til at arbejde med applikationer.

Udførelse af batchfiler

Du kan køre bat-filer forskellige veje. Når du arbejder i den aktuelle mappe, kan du blot indtaste filnavne med yderligere parametre eller uden dem. I dette tilfælde vil kommandoerne for bat-filerne efter lanceringen blive udført sekventielt efter hinanden, uden brugerindblanding.

Hvis kommandofilen er placeret i en anden mappe, skal du skrive ud over det fulde navn på denne fil fuld vej til den mappe, hvor den er gemt. Filtypenavnet kan også udelades. For eksempel er den aktuelle mappe d:\photo\work, og vera.bat-kommandofilen, der skal udføres med parametrene resize.doc og /p, er placeret i mappen d:\photo\home. Derefter, for at vores fil kan starte, skal du indtaste kommandoen d:\photo\home\vera resize.doc /p eller kommandoen ..\home\vera resize.doc /p.

Afbrydelse af arbejdet

BAT-filkommandoer, der udføres efter lancering, kan afbrydes ved hjælp af knapkombinationer +Og +. Displayet vil bede dig om at afbryde kommandofilen med en prompt, der afventer et Ja eller Nej input. Hvis du indtaster Y, vil udførelsen blive afbrudt, og den resterende liste af kommandoer i bat-filen vil blive ignoreret. Hvis du indtaster symbolet N, vil udførelsen fortsætte med den næste kommando fra listen.

Kalder en anden batch-fil

Bat-filer kan indeholde links til udførelse af andre scripts. Hvis du blot skriver en bat-fil i scriptets brødtekst, vil kommandoerne efter den ikke længere blive udført, da kontrol overføres til en anden batch-fil, og kommandoerne fra den vil blive udført. Hvis en returnering er påkrævet efter lancering intern fil, så kan den kaldes med kommandoen CALL. Kommandoformatet ser sådan ud: CALL bat-filnavn [startparametre].

De parametre, der sendes til den eller de kaldte kommandofiler, er normalt tegnene %1 - %9. Når alle kommandoerne i bat-filerne er gået igennem i rækkefølge, vil udførelsen af ​​det originale script fortsætte fra næste linje.

Trin-for-trin udførelse

Der er tidspunkter, hvor bat-fil-kommandoer skal udføres trin for trin (med et stop efter hver linje). Oftest er denne tilstand påkrævet ved fejlfinding eller test af scripts. Kommandoen ser sådan ud: COMMAND /y/c script_name [parametre].

Når den udføres, udsendes en Y- eller N-prompt for hver kommando. Hvis kommandoen skal udføres, skal du trykke på Enter- eller Y-tasten. Hvis du har brug for at springe kommandoen over, skal du trykke på ESC eller N.

Deaktiver eller aktiver kommandooutput til skærmen

Når en bat-fil startes, vises kommandoerne på skærmen linje for linje før udførelse og derefter udføres. Nogle gange medfører dette besvær, da kommandoer med en stor batchfil kører gennem en lang liste foran brugeren på skærmen, og nogle gange skal de vises, for eksempel til dialog eller fejlretning. Brug kommandoen ECHO ON for at vise kommandoer i bat-filen. For at deaktivere denne tilstand skal du indtaste ECHO med parameteren OFF. I dette tilfælde vil alle yderligere udførte kommandoer ikke længere blive vist på skærmen.

For at deaktivere output af kun én linje af brødtekstfilen til skærmen, kan du bruge @-symbolet helt i begyndelsen af ​​denne linje. Oftest kan dette symbol findes i forbindelse med @ECHO OFF-kommandoen for at forhindre det i at blive vist på monitorens display. Denne tilstand bruges ofte af angribere, der skaber vira baseret på bat-filer eller forårsager mindre og større problemer for computerbrugere.

Meddelelser ved udførelse af kommandoer

Hvis andre tegn end ON eller OFF er placeret efter ECHO-kommandoen, vil de blive vist på skærmen i enhver tilstand. Hvis ECHO ikke har nogen parametre, viser den tilstanden for visningstilstanden for eksekverbare kommandoer - til eller fra.

Hvis det ønskes, kan du endda gengive computerens (knirkende) lyd ved hjælp af en bat-fil. Følgende kommandoeksempler er baseret på ECHO-sætningen med tilføjelse af specialtegn.

At lege lydsignal du skal vise et standardtegn med kode 7. Dette kan gøres ved at trykke på tasten og "7" på det numeriske tastatur (mærket hjem).

For at forbedre læsbarheden af ​​meddelelser kan du bruge ECHO-kommandoen med parameteren ".". (det placeres umiddelbart efter kommandoen uden mellemrum) eller et specialtegn med kode 255. På skærmen vil det ligne en tom linje.

ECHO-kommandoen kan bruges til at udsende meddelelser til en separat fil. Dens essens er at omdirigere meddelelsesoutput til en fil i stedet for til monitorskærmen. For at gemme logfiler, afstemninger og registrere begivenheder kan du bruge bat. Outputkommandoerne har følgende format:

ECHO-meddelelse >> filnavn - kommandoen tilføjer en linje til slutningen af ​​en eksisterende fil. Hvis der ikke er en sådan fil i denne mappe, oprettes en ny fil.

ECHO-meddelelse > filnavn - denne kommando opretter en ny fil og skriver den aktuelle linje til den. Hvis en sådan fil findes i den aktuelle mappe, vil dens indhold blive slettet, og kommandoen eller dens resultat vil blive skrevet ned.

Brug af kommentarer

For at lette redigeringen af ​​scripts bruges REM-kommandoen. Windows ignorerer alle bat-fil-kommandoer efter det, når det udføres. De kan ses under redigering og trin-for-trin-tilstand. I alle andre tilfælde vil kommentarer ikke blive vist på skærmen.

Delay kommando i bat-fil

Nogle gange bliver det under udførelsen af ​​en batchfil nødvendigt midlertidigt at stoppe udførelsen af ​​kommandoer, for eksempel at vente på et brugersvar, at øge tiden til at læse en lang besked, at indsætte en disk, for at bekræfte tilstedeværelsen af ​​en bruger eller for at fejlsøge en batchfil. Forsinkelseskommandoen i bat-filen skrives som PAUSE uden parametre. I dette tilfælde vises en meddelelse som "Tryk på en vilkårlig tast for at fortsætte" på displayet, og scriptudførelse vil blive suspenderet, indtil der trykkes på en tastaturknap. Hvis kombinationen trykkes +eller +, så vil systemet opfatte dette som færdiggørelsen af ​​den eksekverbare fil og vil udstede en anmodning om at bekræfte færdiggørelsen af ​​sit arbejde: "Afbryd udførelsen af ​​batchfilen? (J/N)." Hvis du trykker på Y-tasten, vil scriptet blive afbrudt på det tidspunkt, og alle resterende ikke-udførte kommandoer vil blive ignoreret. Et tryk på N vil fortsætte udførelsen med den næste kommando. Når du holder pause, vil et tryk på andre alfanumeriske taster samt mellemrum og Enter fortsætte med at udføre den eksekverbare med den næste kommando.

filliste

For sekventielt at udføre flere filer fra listen i samme mappe, kan du også bruge en bat-fil. Kommandoerne "kør program efter navn" og "kør program efter filtypenavn" kan ofte hjælpe med at automatisere dokumentbehandling, såsom at sortere vedhæftede filer. De adskiller sig i parametrene for FOR-kommandoen. Formatet til at skrive det er angivet nedenfor:

FOR %x IN (liste over filer) DO kommando, hvor:

X - ethvert symbol, undtagen tal fra 0 til 9;

Liste - mellemrumsadskilte filnavne eller navnet på en enkelt fil; I dette tilfælde kan du bruge specialtegnene "?" og "*" for at erstatte et til flere tegn i filnavne;

Kommando - enhver DOS-kommando eller -program, undtagen FOR; hvis der er behov for at bruge FOR, skal du i stedet for %x angive %%x.

Når du bruger denne kommando til at skrive bat-filer, skal du tage højde for, at navne i programmer i DOS-format har en grænse for længden af ​​navnet. For at skifte FOR-kommandoen til at arbejde med lange filnavne, skal du huske at køre kommandoen LFNFOR ON før den for at aktivere tilstanden til at arbejde med lange navne og LFNFOR OFF for at deaktivere den og vende tilbage til standardfillængden.

Mange funktioner med programmer, såsom at sammenligne filer med bestemte typer udvidelser placeret i en mappe med filer af samme type fra en anden mappe, kopiere alle filer i den aktuelle mappe til en anden, sekventiel udførelse af filer med udvidelser af en bestemt type og navne starter med tal, kan gøres med kun én kommando skrevet i bat-filen. Programlancering kan kombineres med brugeranmodninger, hvilket forbedrer bekvemmeligheden ved at arbejde med data.

Overgange i bat-filer

For at gøre det nemmere at styre rækkefølgen, hvori kommandoer lanceres i bat-filer, bruger de ofte hop-kommandoer og etiketter, som disse hop udføres efter.
En etiket er enhver linje i en eksekverbar fil, der begynder med et kolontegn. Etiketnavnet er det sæt af tegn efter kolon indtil slutningen af ​​linjen eller indtil det første mellemrum, hvorefter resten af ​​linjen ignoreres, som kan bruges som en kommentar til springetiketten.

Hop-kommandoen skrives GOTO med navnet på etiketten adskilt af et mellemrum. Hvis der ikke er nogen parameter, eller navnet på etiketten ikke findes i kommandofilen, holder scriptet op med at virke på denne kommando. Eksempel:

REM (påkrævede kommandoer køres).

I dette eksempel springer sekventiel udførelse af kommandofilen, når man når GOTO zzz, til label:zzz og fortsætter med REM, idet man ignorerer alt mellem jump-kommandoen og den angivne label.

Brug af betingelser, når du arbejder med bat-filer

En bat-fil kan muligvis udføre kommandoer, afhængigt af forskellige forhold, hvis den bruger IF-hændelseskontrol. Formatet på denne kommando er "IF condition command".

Betingelsen repræsenterer forskellige varianter af udtryk:

FEJLLEVEL nummer - Hvis det tidligere kørende program sluttede med en udgangskode, der er lig med eller større end den angivne numeriske værdi, vil betingelsen være sand.

LINJE 1 == LINJE 2 - hvis linjerne stemmer helt overens, bliver betingelsen sand. I stedet for strenge kan du erstatte tegnene %0 - %9, hvorefter batchfilens parametre sammenlignes.

EXIST - filnavn - hvis den angivne fil eksisterer, er betingelsen sand.

NOT - betingelse - hvis den angivne betingelse er falsk, vil kommandoudgangen modtage en sand værdi.

Brugte kommandoer i bat-filer

Hvis du klikker på "Start"-knappen og starter kommandolinjen (cmd), kan du se alt, der er indsat i bat-filen; du kan bruge det som et fejlfindingsværktøj, som en assistent, et program til at få information om kommandoer. For at gøre dette kan du blot skrive HJÆLP. Dette giver en liste over kommandoer med korte beskrivelser af dem. For at få mere detaljeret information kan du indtaste HJÆLP med navnet på den ønskede kommando.

Brug af bat-filer ved sikkerhedskopiering af data

Batchfiler gør livet meget lettere for systemadministratorer i deres daglige arbejde. De mest almindelige områder af deres applikation er oprettelse, sletning, omdøbning og meget mere. Alt dette er baseret på at bruge kommandoen COPY bat file. For eksempel kan du oprette et program, der laver arkivkopier af dokumenter fra en valgt mappe med brugerdata i bestemte formater, undtagen for eksempel store mediefiler, giver backup i en mappe med brugerens navn og kalder den "Command_copying_files.bat ”. Herefter er det nødvendigt at sikre, at det starter på et bestemt tidspunkt ved hjælp af den indbyggede skemalægger eller af selve programmet og derved sikre sikkerheden af ​​brugerdata.

Windows bat-filer er en bekvem måde at udføre forskellige opgaver på en pc, som bruges aktivt af computereksperter. De giver dig mulighed for at automatisere hverdagsopgaver, reducere deres færdiggørelsestid og gøre en kompleks proces til noget, der er muligt for den gennemsnitlige bruger. Denne artikel præsenterer de grundlæggende muligheder for batchfiler og anbefalinger til at skrive dem selv.

Automatisering gjort let

Hvordan opretter man en bat-fil? For at gøre dette skal du gøre følgende:

  1. I en hvilken som helst teksteditor, for eksempel Notesblok eller WordPad, skal du oprette et tekstdokument.
  2. Skriv dine kommandoer i den, startende med @echo , og derefter (hver gang på en ny linje) titel [navn på batch-scriptet], echo [besked, der vil blive vist på skærmen] og pause.
  3. Gem teksten i et elektronisk dokument med filtypenavnet .bat (f.eks. test.bat).
  4. For at starte skal du dobbeltklikke på den nyoprettede batch-fil.
  5. For at redigere den skal du klikke på den Højreklik musen og vælg "Skift" fra kontekstmenuen.

Råfilen vil se sådan ud:

title Dette er dit første bat-fil-script!

echo Velkommen til scriptet batchbehandling!

Flere detaljer om bat-filkommandoer og deres brug vi taler under.

Trin 1: Opret et softwarescript

Lad os antage, at en bruger ofte har problemer med netværket. Han bruger konstant kommandolinjen, skriver ipconfig og pinger Google til at fejlfinde netværksproblemer. Efter et stykke tid indser brugeren, at det ville være meget mere effektivt, hvis han skrev en simpel bat-fil, skrev den til sit USB-drev og kørte den på de computere, han diagnosticerer.

Oprettelse af et nyt tekstdokument

En batch-fil gør det nemt at udføre gentagne opgaver på din computer ved hjælp af en kommandolinje Windows strenge. Nedenfor er et eksempel på et script, der er ansvarligt for at vise noget tekst på skærmen. Før du opretter en bat-fil, skal du højreklikke på en tom plads i mappen og vælge "Opret" og derefter "Tekstdokument".

Tilføjelse af kode

Dobbeltklik på dette nye tekstdokument vil åbne din standard teksteditor. Du kan kopiere og indsætte eksempelkoden ovenfor i en tekstindtastning.

Bevarelse

Ovenstående script viser teksten "Velkommen til batchbehandlingsscriptet!" på skærmen. Elektronisk dokument skal optages ved at vælge menupunktet tekst editor"Fil", "Gem som", og angiv derefter det ønskede bat-filnavn. Den skal udfyldes med en .bat-udvidelse (f.eks. welcome.bat), og klik på OK. Til korrekt visning Kyrillisk alfabet i nogle tilfælde bør du sørge for træffe det rigtige valg kodninger. For eksempel, når du bruger konsollen på et Russified Windows NT-system, skal dokumentet gemmes i CP866. Nu skal du dobbeltklikke på bat-fil-genvejen for at aktivere den.

Men følgende besked vises på skærmen:

"Velkommen til batchscriptet! Tryk på en vilkårlig tast for at fortsætte..."

Hvis bat-filen ikke starter, anbefaler brugere at gå til registreringsdatabasen og slette nøglen:

"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice."

Tro ikke, det er alt, hvad batchscripts kan gøre. Scriptparametre er ændrede versioner af kommandolinjekommandoer, så brugeren er kun begrænset af deres muligheder. Og de er ret omfattende.

Trin 2: Lær nogle kommandoer at kende

Hvis en pc-bruger er bekendt med, hvordan man udfører DOS-konsolkommandoer, så vil han være en mester i at skabe softwarescripts, fordi de er det samme sprog. Linjerne i bat-filerne vil fortælle cmd.exe-fortolkeren alt, hvad der kræves af den. Dette sparer tid og kræfter. Derudover er det muligt at specificere en vis logik (f.eks. simple loops, conditionals osv., som konceptuelt ligner proceduremæssig programmering).

Indbyggede kommandoer

1. @echo er en bat-fil-kommando, der giver dig mulighed for at se scriptet arbejde i kommandolinje. Den bruges til at se produktionskodens fremskridt. Hvis batchfilen har nogen problemer, så denne kommando giver dig mulighed for hurtigt at lokalisere problemer. Tilføjelse af off gør det muligt hurtigt at afslutte kodekørsel og undgå output unødvendig information til skærmen.

2. Titel giver samme funktionalitet som et tag i HTML, dvs. opretter en header til batchscriptet i kommandolinjevinduet.</p><p>3. Call kalder en bat-fil fra en anden eller en underrutine inden for et script. For eksempel beregner potensfunktionen potensen %2 af %1:</p><p>hvis %counter% gtr 1 (</p><p>sæt /a tæller-=1</p><p>endlocal & sæt resultat=%prod%</p><p><img src='https://i0.wp.com/syl.ru/misc/i/ai/324915/1862019.jpg' width="100%" loading=lazy loading=lazy></p><p>4. Cls rydder kommandolinjen. Bruges til at sikre, at den tidligere udgang <a href="https://rustrackers.ru/da/error-in-windows-10/blokirovka-ekrana-na-android-polnaya-versiya-blokirovka-ekrana-na/">udenlandsk kode</a> forhindret i at se det aktuelle scripts fremskridt.</p><p>5. Farve indstiller skrifttype og baggrundsfarve. For eksempel, <a href="https://rustrackers.ru/da/mobile-device/kak-izmenit-cvet-izobrazheniya-v-fotoshope-cs6-komanda-zamenit-cvet/">farvekommando</a> f9 angiver hvide bogstaver på en blå baggrund. En kommando uden en parameter gendanner standardindstillingerne.</p><p>6. Ekko bruges til at vise information, såvel som til at aktivere (ekko til) eller deaktivere (ekko fra) sådan udgang. For eksempel ekko-kommandoen. viser <a href="https://rustrackers.ru/da/network-and-internet/kak-opustit-strochku-vniz-v-tekstovom-dokumente-peremeshchenie-i-kopirovanie/">ny linje</a> uden en prik, men ekko . - punkt. Uden parametre viser kommandoen information om dens aktuelle status - ekko til eller ekko fra.</p><p>7. Rem giver den samme funktionalitet som et tag<! в HTML. Такая строка не является частью выполняемого кода. Вместо этого она служит для пояснения и предоставления информации о нем.</p><p>8. Pause giver dig mulighed for at afbryde udførelsen af ​​kommandoer i bat-filen. Dette gør det muligt at læse udførte linjer, før programmet fortsættes. I dette tilfælde vises meddelelsen "For at fortsætte, tryk på en vilkårlig tast..." på skærmen.</p><p>9. Set giver dig mulighed for at se eller indstille miljøvariabler. Med /p-kontakten beder kommandoen brugeren om input og gemmer den. Med parameteren /a giver det dig mulighed for at udføre enkelt <a href="https://rustrackers.ru/da/useful-on-windows-10/arifmeticheskie-operacii-v-razlichnyh-sistemah-teoriya-po-sistemam/">aritmetiske operationer</a>, også tildele deres resultat til en variabel. Når du udfører strengoperationer, bør der ikke være mellemrum hverken før eller efter lighedstegnet. For eksempel viser set-kommandoen en liste over miljøvariabler, set HOME viser værdierne af argumenter, der starter med "HOME", og sæt /p input=indtast et heltal: beder om et heltal og tildeler det til den tilsvarende variabel.</p><p>10. Start "" [websted] vil starte det angivne websted i din standard webbrowser.</p><p>11. Hvis bruges til at kontrollere en bestemt tilstand. Hvis det er sandt, udføres den næste kommando. Der er 3 typer tilstande:</p><ul><li>ERRORLEVEL nummer - kontrollerer fuldførelseskoden for den sidst udførte instruktion for at se, om den matcher eller overstiger det angivne tal. I dette tilfælde angiver 0 vellykket gennemførelse af opgaven, og ethvert andet tal, normalt positivt, indikerer en fejl. For eksempel kan du bruge indlejrede kommandoer til at lokalisere udgangskoden: hvis fejlniveau 3 hvis ikke fejlniveau 4 opstod ekkofejl #3.</li><li>Linje1 == linie2 - kontrollerer om to strenge matcher. For eksempel i fravær <a href="https://rustrackers.ru/da/game/buddypress-kak-otklyuchit-aktivaciyu-akkaunta-po-email-nastraivaem/">ekstern parameter</a> kommandoen, hvis "%1"= ="" goto ERROR vil overføre kontrol til ERROR-etiketten.</li><li>EXIST name - kontrollerer eksistensen af ​​en fil med <a href="https://rustrackers.ru/da/security/itunes-ukazannoe-imya-faila-yavlyaetsya-dublikatom-sozdanie-ssylok-failovoi/">angivet navn</a>. Hvis f.eks. ikke findes A:\program.exe, kopierer C:\PROJECTS\program.exe A: program.exe til drev A, hvis det ikke er der.</li> </ul><p>12. Else skal være på samme linje som If-kommandoen. Angiver behovet for at udføre <a href="https://rustrackers.ru/da/security/kak-sohranit-pdf-v-menshem-razmere-dlya-etogo-sleduite-instrukcii-s-pomoshchyu/">følgende instruktioner</a>, hvis udtrykket er falsk.</p><p><img src='https://i1.wp.com/syl.ru/misc/i/ai/324915/1862021.jpg' width="100%" loading=lazy loading=lazy></p><p>13. For bruges til at gentage bestemte handlinger på hvert medlem af en liste. Har formatet til %%argument i (liste) do kommando. Argumentet kan være et hvilket som helst bogstav fra A til Z. Listen er en sekvens af strenge adskilt af mellemrum eller kommaer. Wildcards kan også bruges. For eksempel:</p><ul><li>for %%d i (A, C, D) do DIR %%d - viser sekventielt mapperne for drev A, C og D;</li><li>for %%f i (*.TXT *.BAT *.DOC) do TYPE %%f - udskriver indholdet af alle .txt-, .bat- og .doc-filer i den aktuelle mappe;</li><li>for %%P i (%PATH%), hvis eksisterer %%P\*.BAT COPY %%P\*.BAT C:\BAT - kopierer alle batchfiler, der findes i alle mapper på søgeruten til C: \ mappe WAT.</li> </ul><p>14. Et kolon (:) før et ord danner et link fra det, som giver dig mulighed for at springe en del over <a href="https://rustrackers.ru/da/useful-on-windows-10/chto-takoe-programmnyi-kod-ishodnyi-kod-programmy-smotret-chto-takoe/">programkode</a> eller gå tilbage. Brugt med kommandoerne Call og Goto, der angiver fra hvilket tidspunkt udførelsen af ​​bat-filen skal fortsætte, for eksempel når en bestemt betingelse er opfyldt:</p><p>15. Variabler:</p><ul><li>%%a repræsenterer hver fil i mappen;</li><li>%CD% - nuværende mappe;</li><li>%DATE% - systemdato, hvis format afhænger af lokaliseringen;</li><li>%TIME% - <a href="https://rustrackers.ru/da/customize-windows-10/oshibka-v-mozilla-firefox-vashe-soedinenie-ne-zashchishcheno-otsutstvie/">system tid</a> i form TT:MM:SS.mm.;</li><li>%RANDOM% - genereret pseudo-tilfældigt tal i området fra 0 til 32767;</li><li>%ERRORLEVEL% - udgangskode returneret af den sidst udførte kommando eller bat-script.</li> </ul><p>Du kan udtrække en del af en streng indeholdt i en variabel, givet dens position og længde, sådan her:</p><p>%[variabel]:~[start],[længde]%. For eksempel kan du vise en dato i formatet DD/MM/ÅÅÅÅ som ÅÅÅÅ-MM-DD som dette: echo %DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.</p><p>16. (". \") - <a href="https://rustrackers.ru/da/questions/ne-udalyaetsya-fail-iz-kornevoi-papki-android-chistka-ustroistva-ot/">Rodmappen</a>. Når du arbejder med konsollen, før du ændrer filnavnet, sletter det osv., skal du dirigere kommandohandlingen til en bestemt mappe. Når du bruger en batch-fil, skal du bare køre den i en hvilken som helst ønsket mappe.</p><p>17. %digit - accepterer værdierne af parametre, som brugeren har sendt til bat-filen. Kan adskilles med mellemrum, kommaer eller koloner. Et "ciffer" er et tal mellem 0 og 9. For eksempel tager %0 værdien af ​​den aktuelle kommando. %1 matcher den første parameter osv.</p><p>18. Shift - kommando bruges til at skifte <a href="https://rustrackers.ru/da/setting-up-software/funkciya-sql-s-vhodnymi-parametrami-strokovye-funkcii-sql/">input parametre</a> med én stilling. Bruges når eksterne argumenter sendes til batchfilen. For eksempel kopierer følgende bat-fil filerne angivet som parametre på kommandolinjen til drev D:</p><p>hvis ikke (%1)==() gå til næste</p><p>Derudover kan du udføre følgende manipulationer med argumenterne:</p><ul><li>%~ - fjern omgivende citater;</li><li>%~f - udvide parameteren til det fulde stinavn sammen med drevnavnet;</li><li>%~d - vis disknavn;</li><li>%~p - vis kun stien;</li><li>%~n - vælg kun filnavnet fra parameteren;</li><li>%~x - lad kun forlængelsen være;</li><li>%~s - konverter stien til en repræsentation med korte navne;</li><li>%~a - udtræk filattributter;</li><li>%~t - Vis datoen og tidspunktet for oprettelsen;</li><li>%~z - vis filstørrelse;</li><li>%~$PATH: - søger i de mapper, der er angivet i <a href="https://rustrackers.ru/da/education-and-science/tipy-dannyh-v-perl-dostup-k-peremennym-okruzheniya-operatory/">miljøvariabel</a> PATH, og udvider parameteren til det første matchende fuldt kvalificerede navn fundet, eller returnerer en tom streng ved fejl.</li> </ul><p><img src='https://i1.wp.com/syl.ru/misc/i/ai/324915/1862020.jpg' width="100%" loading=lazy loading=lazy></p><h2>Wildcards</h2><p>Mange kommandoer accepterer filnavnemønstre - tegn, der giver dig mulighed for at matche en gruppe af filnavne. Wildcards inkluderer:</p><ul><li>* (stjerne) - angiver enhver sekvens af tegn;</li><li>? (spørgsmålstegn) - erstatter ét (eller 0) tegn ud over et punktum (.).</li> </ul><p>For eksempel, <a href="https://rustrackers.ru/da/android/komanda-prosmotra-v-komandnoi-stroke-opisanie-komandy-dir-sozdaem-tekstovyi/">dir kommando</a>*.txt viser en liste over txt-filer, og dir ???.txt viser en liste <a href="https://rustrackers.ru/da/questions/kak-vstavit-izobrazhenie-v-tekstovyi-dokument-kak-sozdat/">tekstdokumenter</a>, hvis navnelængde ikke overstiger 3 bogstaver.</p><h2>Funktioner</h2><p>Ligesom underrutiner emuleres de ved hjælp af kommandoerne call, setlocal, endlocal og label. Følgende eksempel viser muligheden for at definere en variabel, hvor resultatet er gemt på opkaldslinjen:</p><p>ring: sig resultat=verden</p><p><img src='https://i1.wp.com/syl.ru/misc/i/ai/324915/1862022.jpg' width="100%" loading=lazy loading=lazy></p><h2>Beregninger</h2><p>I bat-filer kan du udføre simple aritmetiske operationer på 32-bit heltal og bits ved at bruge kommandoen set /a. Det maksimale understøttede antal er 2^31-1 = 2147483647, og minimum er -(2^31) = -2147483648. Syntaksen minder om programmeringssproget C. TIL <a href="https://rustrackers.ru/da/graphics-and-design/arifmeticheskie-operatory-php-operacii-v-php/">aritmetiske operatorer</a> inkluderer: *, /, %, +, -. I bat-filen skal % (resten af ​​en heltalsdivision) indtastes som "%%".</p><p>Operatører med <a href="https://rustrackers.ru/da/problem-with-os/chislo-19-v-dvoichnoi-sisteme-perevod-chisel-v-pozicionnyh-sistemah/">binære tal</a> fortolke tallet som en 32-bit sekvens. Disse omfatter: ~ (bitvist IKKE eller komplement), & (AND), | (ELLER), ^ (eksklusiv ELLER),<< (сдвиг влево), >> (skift til højre). <a href="https://rustrackers.ru/da/android/php-logicheskii-operator-isklyuchayushchee-ili-uslovnyi-operator-if-v/">Logisk operator</a> benægtelse er! (Udråbstegn). Den ændrer 0 til 1 og en ikke-nul værdi til 0. Kombinationsoperatoren er (komma), som tillader <a href="https://rustrackers.ru/da/setting-up-software/excel-okruglenie-v-bolshuyu-storonu-do-celogo-kak-okruglyat-chisla-v-bolshuyu-i/">større antal</a> operationer i et sæt kommando. De kombinerede tildelingsoperatorer += og -= i udtrykkene a+=b og a-=og svarer til udtrykkene a=a+b og a=a-b. *=, %=, /=, &=, |=, ^=, >>=, fungerer på samme måde.<<=. Приоритет операторов следующий:</p><p>(); %+-*/; >>, <<; &; ^; |; =, %=, *=, /=, +=, -=, &=, ^=, |=, <<=, >>=; ,</p><p>Literaler kan indtastes som decimaltal, hexadecimalt (med indledende 0x) og oktale tal (med indledende nul). For eksempel tildeler sæt /a n1=0xffff n1 en hexadecimal værdi.</p><h2>Eksterne kommandoer</h2><ul><li>Exit bruges til at afslutte DOS-konsollen eller (med /b-indstillingen) kun den aktuelle bat-fil eller rutine.</li><li>Ipconfig er en klassisk konsolkommando, der viser netværksoplysninger. Det inkluderer MAC- og IP-adresser og undernetmasker.</li><li>Ping pinger en IP-adresse, sender datapakker til den for at estimere dens afstand og latenstid (svar). Bruges også til at indstille en pause. For eksempel sætter kommandoen ping 127.0.01 -n 6 kodeeksekvering på pause i 5 sekunder.</li> </ul><p>Biblioteket af kommandoer i bat-filer er enormt. Heldigvis er der mange sider på nettet, der viser dem alle sammen med batch-scriptvariabler.</p><p><img src='https://i0.wp.com/syl.ru/misc/i/ai/324915/1862017.jpg' width="100%" loading=lazy loading=lazy></p><h2>Trin 3: Skriv og kør bat-filen</h2><p>Følgende script vil gøre din daglige online aktivitet meget nemmere. Hvad hvis du vil åbne alle dine foretrukne nyhedssider med det samme? Da scripts bruger konsolkommandoer, kan du oprette et script, der åbner hvert nyhedsfeed i et enkelt browservindue.</p><p>Dernæst skal du gentage processen med at oprette en bat-fil, begyndende med et tomt tekstdokument. For at gøre dette skal du højreklikke på et tomt rum i en hvilken som helst mappe og vælge "Ny" og derefter "Tekstdokument". Når du har åbnet filen, skal du indtaste følgende script, som starter de vigtigste russisksprogede medier, der er tilgængelige på internettet:</p><p>start "" http://fb.ru</p><p>start "" http://www.novayagazeta.ru</p><p>start "" http://echo.msk.ru</p><p>start "" http://www.kommersant.ru</p><p>start "" http://www.ng.ru</p><p>start "" http://meduza.io</p><p>start "" https://news.google.com/news/?ned=ru_ru&hl=ru</p><p>Dette script indeholder start "" kommandoerne, som åbner flere faner. Du kan erstatte de foreslåede links med andre efter eget valg. Når du har indtastet scriptet, skal du gå til "Filer"-menuen i editoren og derefter til "Gem som..." og gemme dokumentet med filtypenavnet .bat, og ændre parameteren "Filtype" til "Alle filer" (* . *).</p><p>Efter at have gemt, for at køre scriptet, skal du blot dobbeltklikke på det. Websider begynder med det samme at indlæses. Hvis du ønsker det, kan du placere denne fil på dit skrivebord. Dette giver dig mulighed for øjeblikkeligt at få adgang til alle dine yndlingssider.</p><h2>Arrangør</h2><p>Hvis du downloader flere filer om dagen, vil hundredvis af dem snart samle sig i mappen "Downloads". Du kan oprette et script, der organiserer dem efter type. Placer blot .bat-filen med programmet i mappen med uorganiserede data og dobbeltklik for at køre:</p><p>rem hver fil i mappen</p><p>for %%a i (".\*") do (</p><p>rem check for tilstedeværelsen af ​​en udvidelse og ikke-tilhørende dette script</p><p>if "%%~xa" NEQ "" if "%%~dpxa" NEQ "%~dpx0" (</p><p>rem check for tilstedeværelsen af ​​en mappe for hver udvidelse, og hvis den ikke er der, så opret den</p><p>hvis ikke eksisterer "%%~xa" mkdir "%%~xa"</p><p>flyt filen til mappen</p><p>flyt "%%a" "%%~dpa%%~xa\"</p><p>Som et resultat sorteres filer i mappen "Downloads" i mapper, hvis navne svarer til deres udvidelse. Det er så simpelt. Dette batchscript fungerer med enhver type data, det være sig et dokument, video eller lyd. Selvom pc'en ikke understøtter dem, vil scriptet stadig oprette en mappe med den passende etiket. Hvis der allerede er en JPG- eller PNG-mappe, vil programmet blot flytte filer med denne udvidelse dertil.</p><p>Dette er en simpel demonstration af, hvad batchscripts kan. Når en simpel opgave skal udføres igen og igen, hvad enten det er at organisere filer, åbne flere websider, omdøbe flere eller lave kopier af vigtige dokumenter, kan et batch-script hjælpe dig med at få det kedelige arbejde gjort med et par klik.</p> <p>Nu er det tid til at overveje <b>bat kommandoer</b>. Som udgangspunkt bruges kommandoer indtastet i cmd her, men der er også nogle, der ikke giver mening at bruge på kommandolinjen.</p><h2>Sådan får du en komplet liste over bat-kommandoer</h2><p>For at beskrive alle kommandoerne skal du skrive en hel række artikler, for ikke at overbelaste dig, vil vi begrænse os til en artikel og overveje kompakt information. Som du ved, er bat-filen og cmd-kommandoerne de samme for at få en liste over dem eller . Indtast hjælpekommandoen, som på engelsk er skrevet som hjælp, tryk på Enter. Som et resultat vil computeren skrive alle kommandoerne med en kort beskrivelse i cmd-grænsefladen.</p><p>Efter at have gennemgået denne liste, vil du gerne finde ud af mere detaljeret, hvad en specifik bat-kommando er. Lad os f.eks. vælge kommandoen for, for at beskrive den indtaster vi hjælp til eller til /? og klik på enter. Som et resultat vil du modtage online hjælp til kommandoen; den er omfangsrig, så du bliver nødt til at trykke på en vilkårlig tast flere gange for at læse den efterfølgende beskrivelse. På denne måde kan du lære syntaksen for en bestemt kommando.</p><h2>bat fil kommandoer</h2><p>Lad os nu stifte bekendtskab med kommandoerne, der bruges i batchfilen, med en kort beskrivelse. De skelner ikke mellem store og små bogstaver, men vi har angivet dem med store bogstaver for at hjælpe med identifikation.</p><table><tbody><tr><td width="319">@ </td><td width="319">Alle kommandoer udført af bat vises på skærmen, for at fjerne unødvendige ting placeres en "hund" foran kommandoen. Bruges ofte med @echo slukket.</td> </tr><tr><td width="319">sæt</td><td width="319">Sætter variabler. For eksempel tildeler setper=c:\windows her stien. Du kan skrive en besværlig værdi til en variabel og angive den i scriptet, hvilket gør koden mere kompakt. Hvis indholdet ændres, skal du ikke ændre værdierne overalt, hvor denne variabel er angivet.</td> </tr><tr><td width="319">:: </td><td width="319">En af to metoder til at kommentere i en bat-fil uden at vise denne linje på skærmen.</td> </tr><tr><td width="319">:ETIKET</td><td width="319">Når du tilføjer et kolon til et ord, oprettes der en etiket, der giver dig mulighed for at springe til forskellige sektioner af brødtekstfilen. En etiket kan have et andet navn, LABEL er et eksempel.</td> </tr><tr><td width="319">OPKALD</td><td width="319">Bat er en kommando, der kalder en batchfil i en anden. Alle parametre beskrevet i en af ​​filerne kan overføres til hinanden.</td> </tr><tr><td width="319">VALG</td><td width="319">Vælg kommando.</td> </tr><tr><td width="319">CLS</td><td width="319">Rydder indholdet af den shell, der vises over CLS.</td> </tr><tr><td width="319">EKKO</td><td width="319">Viser en meddelelse på skærmen. For eksempel "ECHO Hej!" vil vise "Hej!" Hvis du ikke bruger @ECHO off i begyndelsen af ​​batch-filen, vil du se stien til bat-filen og to meddelelser, hvilket er unødvendigt. Du kan oprette en tom linje ved at skrive ECHO. med en periode til sidst.</td> </tr><tr><td width="319">AFSLUT</td><td width="319">Afslutter det aktuelle batchscript.</td> </tr><tr><td width="319">GÅ TIL ETIKET</td><td width="319">Bruges til at springe til en bestemt etiket i <a href="https://rustrackers.ru/da/internet/kak-vosstanovit-udalennye-faily-diska-programmy-dlya-vosstanovleniya-failov/">I dette tilfælde</a> til LABEL og udfører scriptet efter det.</td> </tr><tr><td width="319">HVIS</td><td width="319">Som i bat-programmeringssprogene repræsenterer if-kommandoen opfyldelsen af ​​en betingelse, afhængigt af hvilket script vil gå langs den ene eller anden vej. Se venligst hjælpen for syntaks.</td> </tr><tr><td width="319">til</td><td width="319">En løkke, der bruges til at organisere udførelsen af ​​de samme handlinger.</td> </tr><tr><td width="319">PAUSE</td><td width="319">Hvis du har brug for at se outputtet af et script, og det kører, og vinduet lukker hurtigt, så brug PAUSE. Det giver dig mulighed for at se resultatet og fuldføre scriptet ved at trykke på en vilkårlig knap.</td> </tr><tr><td width="319">R.E.M.</td><td width="319">Anden måde at kommentere på. I modsætning til:: udskrives på skærmen, hvis der ikke er en @ECHO off-konstruktion.</td> </tr><tr><td width="319">FLYTTE</td><td width="319">Ændrer positionen af ​​batch-parametre i bat-filen.</td> </tr><tr><td width="319">START</td><td width="319">Starter programmer, windows mv. Har mange attributter (se hjælp).</td> </tr></tbody></table><p>Dette er grundlaget for bat-kommandoer. Syntaksen af ​​nogle elementer er vanskelig for begyndere og kræver en vis viden. Alle <i>bat fil kommandoer</i>, beskrevet ovenfor, betragtes overfladisk, for at finde ud af deres formål, og du finder den fulde syntaks i Windows Hjælp.</p> <p>1. S.BAT-kommandofil, der giver side-for-side visning af indholdet af en given tekstfil (med en pause efter hver skærm er udfyldt):</p> <p>HVIS /%1==/ GÅ TIL ERR1, hvis der ikke er angivet noget argument (filnavn), så ERR1</p> <p>HVIS IKKE FINDER %1 GÅ TIL ERR2 – hvis den angivne fil mangler</p> <p>:ERR1 Intet argument givet</p> <p>ECHO Angiv filnavn</p> <p>:ERR2 Fil mangler</p> <p>ECHO Fil %1 mangler</p> <p>Kommandoen Mere giver side-for-side (fuld skærm) visning af indholdet af en tekstfil.</p> <p>Syntaks:</p> <p>MORE-filteret læser en tekstfil fra standard I/O-enheden og viser dens indhold, og pauser hver gang skærmen fyldes. I dette tilfælde vises meddelelsen –MERE- på den sidste (nederste) linje på skærmen. For at få vist den næste side skal du blot trykke på en vilkårlig tast på tastaturet.</p> <p>2. Kommandofil S.BAT, som giver mulighed for at tilføje søgeruter for eksekverbare filer til eksisterende og vise alle installerede ruter:</p> <p>HVIS /%1==/ GÅ TIL SLUT</p> <p>SET PATH=%PATH%;%1</p> <p>PATH-kommandoen bruges til at indstille og vise søgestier for eksekverbare filer.</p> <p>STI...]</p> <p>STI; -annullerer alle søgeruter.</p> <p>Den eksekverbare fil søges først i den mappe, der er tildelt i henhold til dens specifikation, og derefter i hver specificeret mappe.</p> <p>Hvis kun kommandonavnet indtastes, vises de aktuelle søgeruter.</p> <p>Eksempel på brug:</p> <p>S C:\EDIT\TEXT\ME C:\DOS</p> <p>Ovenstående batchfil fungerer kun fint, hvis værdien af ​​den globale PATH-variabel passer på én linje på skærmen.</p> <p>3. Kommandofil DEL.BAT for at slette BAC-filer fra det angivne bibliotek, hvis det er angivet, eller fra arbejdsbiblioteket, hvis argumentet ikke er angivet</p> <p>HVIS IKKE /%1==/ INDSTIL #DIR=%1\</p> <p>HVIS FINDER %#DIR%*.VAK GÅ TIL DEL</p> <p>ECHO Ingen VAC-filer at slette</p> <p>DIR %#DIR%*.VAK</p> <p>ECHO For at nægte sletning,</p> <p>ECHO tryk på Ctrl-Break, ellers -</p> <p>ECHO enhver tast for at fortsætte</p> <p>DEL %#DIR%*.VAK</p> <p>ECHO *** Filer slettet ***</p> <p>Denne fil bruger en global variabel med et unikt navn #DIR. Først nulstilles dens værdi med SET-kommandoen. Dette er for at sikre, at det er tomt og ikke efterladt indstillet efter det forrige kald til DEL.BAT-filen. Så, hvis argumentet er givet, tilføjes et \ til højre, og resultatet gemmes som værdien af ​​den globale variabel #DIR. I efterfølgende kommandoer bruges det som et præfiks til de kvalificerede navne på .vac-filer.</p> <p>Angivelse af d: som argument vil slette .vac-filer ikke i den aktuelle mappe, men i rodmappen på drev d. Derfor, hvis du skal indstille den aktuelle mappe, skal du bruge d:.. konstruktionen.</p> <p>4. Kommandofil LEX.BAT til at kalde LEXICON-teksteditoren med automatisk indlæsning af den seneste tekstfil, der tidligere er brugt til samme formål:</p> <p>HVIS /%1==/ GÅ TIL N</p> <p>Hvis du som svar på DOS-prompten indtaster</p> <p>LEX C:\TXT\M.TXT</p> <p>derefter vil specifikationen af ​​den angivne fil blive gemt i den globale variabel #DOC, og selve filen vil blive indlæst i editoren. #DOC-værdien vil derefter blive brugt, når LEXICON.EXE køres af LEX-kommandolinjen uden et argument, hvilket sikrer, at den sidst angivne fil indlæses i editoren.</p> <p>5. For automatisk at svare på en OS-kommando eller programanmodning i en batchfil, kan du bruge følgende skema:</p> <p><i>behandle</i> <YES</p> <p>ECHO-kommandoen producerer en YES-tekstfil med svaret Y. Indholdet af YES-filen føres derefter til processens standardinput. Dette simulerer indtastning af svaret Y fra tastaturet. Når processen er fuldført, slettes YES-filen. Naturligvis kan du indstille alle nødvendige svar på en lignende måde.</p> <p>Ulempen ved den beskrevne metode er behovet for at oprette og slette filen, hvilket tager meget tid. Denne ulempe kan elimineres ved at oprette permanente tekstfiler med forskellige svarmuligheder og bruge dem i alle batchfiler.</p> <p>En anden måde at automatisk indtaste et svar i en proces er at bruge en linje som</p> <p>EKKO Y| <i>behandle</i></p> <p>6. Batch filer for at gemme arbejdsbiblioteket på et bestemt tidspunkt og gendanne det efter indstilling af en ny arbejdsmappe. For at gøre dette kan du f.eks. oprette følgende batchfiler i mappen C:\BAT</p> <p>CD>C:\BAT\CURDIR</p> <p>KOPI C:\BAT\CDFILE+C:\BAT\CUR C:\BAT\RETURN.BAT</p> <p>CDFILE-tekstfilen indeholder "begyndelsen" af CD-kommandoen. Den skal dannes med et mellemrum efter CD'en og uden EOF-markøren. SAV.BAT-kommandofilen registrerer arbejdsmappespecifikationen i en CUR-tekstfil og genererer en RETURN.BAT-kommandofil for at gendanne denne mappe.</p> <p>For at lette brugen bør en af ​​søgeruterne for eksekverbare filer være C:\BAT.</p> <p>Lad arbejdsmappen være C\EDIT\TEXT\LEX. Hvis du kalder SAV-kommandofilen (uden argumenter), vil en RETURN-kommandofil blive genereret indeholdende kommandoen</p> <p>CD C\EDIT\TEXT\LEX</p> <p>Herefter kan du ændre arbejdsmapper med CD-kommandoen (men ikke med kommandoen d:). For at vende tilbage til LEX vil det være nok at indtaste RETURN fra tastaturet.</p> <p>Hver efterfølgende udførelse af SAV-filen annullerer den forrige uden mulighed for gendannelse.</p> <p>Den beskrevne teknik gør arbejdet lettere, hvis der er en forgrenet filstruktur på harddisken.</p> <p>7. F.BAT kommandofil til sikkerhedskopiering af indholdet af harddisken til drevet i drev A:.</p> <p>ATTRIB +A C:\*.* /S arkivfil</p> <p>ECHO Placer den formaterede disk i drev A</p> <p>ECHO og tryk derefter på en vilkårlig tast</p> <p>XCOPY C:\*.* A: /S /M /E /V</p> <p>HVIS FEJNLIVEAU 4 GÅ TIL LOOP</p> <p>ECHO reservation afsluttet</p> <p>ATTRIB-kommandoen indstiller A-attributten for alle filer. XCOPY kopierer filstrukturen fra harddisken til disken i drev A. For alle kopierede filer nulstilles A-attributten. XCOPY-kommandoen mislykkes, når et af følgende sker:</p> <p>1) disketten er fuld, men ikke alle filer er blevet sikkerhedskopieret endnu (returkode 4);</p> <p>2) alle filer er reserveret, ingen filer blev fundet at kopiere, eller kommandoudførelsen blev afbrudt af Ctrl-Break (returkode henholdsvis 0, 1 og 2);</p> <p>3) der opstod en kritisk I/O-fejl (returkode 5).</p> <p>I tilfælde 1 og 3 vil IF-kommandoen overføre kontrollen til LOOP-etiketten for at fortsætte (genoptage) sikkerhedskopieringen på den næste diskette. I dette tilfælde bliver allerede kopierede filer ikke sikkerhedskopieret, da deres A-attributter nulstilles.</p> <p>Hvis tilfælde 2 opstår, afsluttes reservationen, og der udsendes en tilsvarende meddelelse.</p> <p>Selvfølgelig kan du indføre yderligere analyse af returkode 5.</p> <p>8. Sikkerhedskopiering af hele indholdet på en harddisk kræver meget tid og et stort antal diske. Derfor, når du sikkerhedskopierer igen, er det bedre at bruge /D-switchen i XCOPY-kommandoen til kun at kopiere de filer, der blev oprettet og opdateret efter datoen for den sidste sikkerhedskopiering. Samtidig, for at vælge filer korrekt, er det nødvendigt at sikre, at DOS til enhver tid kører med den korrekte dato.</p> <p>Derudover skal brugeren huske eller skrive ned datoen, hvor filerne sidst blev sikkerhedskopieret for at indikere dette i /D-switchen. For at slippe af med dette kan du oprette følgende batchfiler:</p> <p>ECHO |MERE|DATO|FIND /V "Enter" >B.BAT</p> <p>ATTRIB +A C:\*.* /S</p> <p>ECHO Placer disken i drev A</p> <p>XCOPY C\*.* A: /S /M /E /V /D:%4</p> <p>HVIS FEJNLIVEAU 4 GÅ TIL LOOP</p> <p>ECHO reservation afsluttet</p> <p>For at bruge disse filer skal du generere BAT-filen én gang ved hjælp af kommandoen</p> <p>EKKO|MERE|DATO|FIND /V "Enter" >B.BAT</p> <p>Denne fil vil kun indeholde en linje, der ligner følgende:</p> <p>Nuværende dato er lør 26-1-2009</p> <p>(Nuværende dato er lørdag 26-01-2009)</p> <p>MORE-kommandoen, når der ikke er nogen tekst at vise (fra ECHO-kommandoen), genererer en EOL-markør og simulerer derved tryk på Enter-tasten som svar på en anmodning om den aktuelle dato med DATE-kommandoen. FIND-kommandoen afskærer den anden linje fra outputtet af DATE-kommandoen (Indtast ny dato (dd-mm-åå):).</p> <p>Du kan oprette en B.BAT-fil på enhver anden måde, men dens indhold skal være i den angivne form.</p> <p>For at tage backup af nye filer (oprettet på dagen for sidste sikkerhedskopiering eller senere), er det nu tilstrækkeligt at starte udførelse af kommandofilen D. Den kalder B.BAT-filen, som tolkes som en kommandofil. Dette kører C.BAT-batchfilen med fire argumenter (dato, er, ugedag og dato).</p> <p>Det fjerde argument (dato) tilsidesætter %4-indstillingen i /D-omskifteren i XCOPY-kommandoen.</p> <p>Når sikkerhedskopieringen er fuldført, vender kontrollen tilbage til D.BAT-filen, og DATE-kommandoen udføres, hvilket opdaterer B.BAT-filen <a href="https://rustrackers.ru/da/graphics-and-design/wordpad-kak-dobavit-stranicu-vstavka-tekushchei-daty-operacii-s-sozdaniem-i/">nuværende dato</a>, dvs. dato for sidste reservation. Derfor, efter at have kørt DATECOPY efter et vist tidsrum, vil sikkerhedskopieringen fortsætte som forventet (alle filer vil blive kopieret baseret på datoen i B.BAT)</p> <p><b>Alle kan skrive bat-filer!</b></p><p><b>Kommando processor</b></p><p>Mange operativsystemer, herunder dem udviklet af Microsoft, inkluderer <a href="https://rustrackers.ru/da/multimedia/kakuyu-sistemu-stavit-32-ili-64-bitnuyu-razryadnost-processora-v-komandnoi/">kommandoprocessor</a>. Dette er navnet på et program, der initierer udførelsen af ​​forskellige handlinger som svar på kommandoer indtastet af brugeren fra tastaturet. Dybest set består disse handlinger af løb <a href="https://rustrackers.ru/da/questions/5-kompyuternyh-programm-obyazatelnye-programmy-dlya-noutbuka-kakie/">nødvendige programmer</a> med visse parametre. Men ikke kun; Vi vil se senere, at nogle kommandoer udføres direkte af kommandoprocessoren. Dybest set er disse kommandoer, der tjener til at kontrollere konteksten og rækkefølgen af ​​kommandoudførelse. Vi vil dog ikke tænke for dybt over kommandoernes natur, i det mindste ikke medmindre vi er nødt til det. Endnu vigtigere er det, at ethvert program, der er teknisk muligt at køre fra kommandolinjen, betragtes af kommandoprocessoren som en kommando. Den skelner ikke mellem de oprindelige kommandoer, der oprindeligt var indbygget i operativsystemet, og programmer, der blev installeret oven på det.</p><p>Sådan starter du kommandoprocessoren:</p><ol><p>Klik på knappen <b>Start</b>. Hovedmenuen vil blive vist på skærmen.</p><p>Vælg Kør fra hovedmenuen. En dialogboks vises på skærmen <b>Starter programmet</b>.</p><p>Indtast strengen i feltet Åbn <b>cmd</b>.</p><p>Klik på knappen <b>Okay</b>. Et kommandoprocessorvindue vises på skærmen.</p> </ol><p><b>Kommandolinje og kommandoer</b></p><p>Kommandoprocessorvinduet i sin oprindelige form ser dystert ud, og det er ikke særlig bekvemt for de fleste at arbejde med det. Meget nemmere at bruge <a href="https://rustrackers.ru/da/news/skachat-prilozhenie-moi-faily-na-telefon-luchshie-failovye-menedzhery-dlya/">filadministratorer</a> i Norton Commander-stil. De giver både værktøjer til hurtigt at navigere i filsystemet og timing for indtastning af kommandoer.</p><p>For at indtaste kommandoen:</p><ol><p>Skriv kommandoteksten på kommandolinjen.</p><p>Tryk på tasten <b>Gå ind</b>.</p> </ol><p>Kommandoprocessor og kommandoer <a href="https://rustrackers.ru/da/customize-windows-10/klassifikaciya-operacionnyh-sistem-po-semeistvam-tipy-operacionnyh-sistem/">operativ system</a> er beskrevet i driftsdokumentationen for sidstnævnte. Denne dokumentation er delvist indeholdt i selve operativsystemet. Brug kommandoen for at få adgang til det <b>Hjælp</b>. Denne kommando viser en liste <a href="https://rustrackers.ru/da/disks-and-files/spravka-v-komandnoi-stroke-komandy-pomogayushchie-rabotat-s-cmd-dostupnye/">tilgængelige kommandoer</a>. For at få en beskrivelse af en specifik kommando, brug kommandoen som en parameter <b>Hjælp</b> hendes navn skal angives. Kommandolinjen vist i følgende liste viser en beskrivelse af kommandoen <b>til</b>.</p><p>Hvis du forsøgte at indtaste kommandoen <b>Hjælp</b>, har du sikkert bemærket, at resultatet af dets arbejde (det såkaldte output) ikke passer på én skærm. Det samme problem opstår med kommandobeskrivelsesteksten <b>til</b>. Den gode nyhed er, at output kan omdirigeres til en fil. Kommandolinjen vist i den følgende liste genererer filen <b>commands.txt</b>, der indeholder en liste over alle MS-DOS-kommandoer.</p><p>hjælp > commands.txt</p><p>For at generere en fil med en beskrivelse af kommandoen <b>til</b>, skal du give følgende kommando (du kan lave outputfilnavnet til hvad som helst).</p><p>hjælp til > for.txt</p><p>I alt er der lidt mindre end 80 kommandoer i moderne Microsoft-operativsystemer, og det er umuligt at beskrive dem i én artikel. Her kan vi kun nævne nogle få kommandoer, der er nyttige til at automatisere filbehandling og vise, hvordan man bruger dem. Disse kommandoer vil blive brugt i yderligere eksempler. Du kan altid afklare detaljerne ved kommando <b>Hjælp</b> eller i mappen.</p><p><b>kopi</b>- kopiering af en eller flere filer;</p><p><b>del</b>- sletning af en eller flere filer;</p><p><b>bevæge sig</b>- flytning af en eller flere filer eller mapper;</p><p><b>omdøbe</b>(forkortet <b>ren</b>) - omdøbning af en eller flere filer eller mapper;</p><p><b>xkopi</b>- kopiering af undermappetræet;</p><p><b>mkdir</b>(forkortet <b>md</b>) - oprettelse af en mappe;</p><p><b>rmdir</b>(forkortet <b>rd</b>) - sletning af en mappe.</p><p>En af de generelle regler for MS-DOS kommandosyntaks er, at når du angiver parametre, angives kilden først og derefter resultatet. For eksempel, hvis vi vil flytte en fil <b>øl.txt</b> fra kataloget <b>boks</b> til kataloget <b>bord</b>, skal vi indtaste kommandoen givet i den følgende liste.</p><p>flytte box\beer.txt tabel</p><p>Først hvad skal man flytte, så hvor skal man flytte.</p><p>Hvis vi vil omdøbe filen <b>lena.txt</b> at arkivere <b>natasha.txt</b>, så skal kommandoen skrives som vist nedenfor.</p><p>ren lena.txt natasha.txt</p><p>Først hvad skal man omdøbe, så hvad man skal omdøbe.</p><p><b>Nuværende bibliotek. Absolutte og relative veje</b></p><p>Når du arbejder med filkommandoer, bliver konceptet med den aktuelle mappe ekstremt vigtigt. Pointen er, at når vi angiver en fil som en kommandoparameter, bruger vi altid en af ​​to mulige måder at pege på dem: enten en absolut sti eller en relativ sti. I den fulde sti angiver vi alt, der starter fra drevet (eller <a href="https://rustrackers.ru/da/questions/kak-cherez-router-zadat-setevoi-papke-imya-chto-takoe-wi-fi-set-i-kak-e/">netværksnavn</a> computer), for eksempel <b>d:\misha\box\beer.txt</b>. Uanset hvilken mappe der tilfældigvis er aktuel, når kommandoen indtastes, vil den fulde sti svare til den samme fil. Til <a href="https://rustrackers.ru/da/useful/kak-pisat-bat-faily-kak-sdelat-fail-bat-tekushchii-katalog/">relativ vej</a> det aktuelle bibliotek fungerer som udgangspunkt. Det enkleste tilfælde af en relativ sti er et filnavn. I forbindelse med kommandoudførelse betyder det en fil med det navn, der er placeret i den aktuelle mappe.</p><p>For at skrive en relativ sti til den aktuelle mappe er der <a href="https://rustrackers.ru/da/education-and-science/razbiraem-i-napolnyaem-fail-index-php-wordpress-dobavlyaem-proizvolnye/">betinget notation</a> <b>. </b>(prik). For at registrere den relative sti til den mappe, der indeholder den aktuelle mappe, er der en betinget notation <b>.. </b>(to prikker). Kommandoen vist i følgende liste kopierer alle filer fra den aktuelle mappe til mappen <b>nabo</b>, der ligger ved siden af.</p><p>kopi *.* .\nabo</p><p><b>Batch filer</b></p><p>Indtil nu, når vi gav eksempler, antog vi, at vi indtastede kommandoer manuelt hver gang. Når du behandler et stort antal filer eller systematisk udfører de samme kommandoer, bliver dette besværligt. Derfor giver kommandoprocessoren mulighed for at udføre <a href="https://rustrackers.ru/da/internet-and-connectivity/pereimenovanie-faila-v-komandnoi-stroke-gruppovoe/">batch-filer</a>. En batchfil er en tekstfil, hvori kommandoer (eller mindst én kommando) er skrevet. Et eksempel på en batchfil er vist i den følgende liste. Prøv at gætte, hvad denne batchfil gør.</p><p>help copy > copy.help</p><p>hjælp flytte > flytte.hjælp</p><p>flytte *.hjælp msdos-help</p><p>Hvis formålet med denne fil forbliver et mysterium for dig, så prøv at oprette og udføre den. Det er sædvanligt at give kommandofiler udvidelsen <b>flagermus</b>. Sådan genkendes filer af denne type af kommandoprocessoren. Denne fil kan f.eks. <b>make-help.bat</b>.</p><p>Sådan kører du batchfilen:</p><ol><p>Indtast hans navn som en kommando. Herefter vil batchfilen blive udført.</p> </ol><p>I en batch-fil fylder hver kommando en linje. Mere præcist er der en måde at placere en kommando på flere på hinanden følgende linjer; for at gøre dette skal du umiddelbart før hvert linjeskift sætte "cap"-symbolet <b>^ </b>. (Hver cap skal være det sidste tegn på sin linje; der må ikke være mellemrum eller tabulatorer efter det.) Et eksempel på en sådan kommando er vist i den følgende liste.</p><p>hvis der findes disser.txt ^</p><p>kopier disser.txt ^</p><p>d:\videnskab\papirer\udkast\kilder</p><p>Men for enkelhedens skyld, for ikke at tage forbehold hver gang, vil vi antage, at det på en måde er én lang "logisk" linje.</p><p>Når en batch-fil udføres, scanner kommandoprocessoren den fra top til bund fra første linje til sidste og udfører kommandoerne i den rækkefølge, den støder på dem. Det udfører dem generelt, som om vi indtastede hver af dem manuelt. Generelt fordi nogle kommandoer opfører sig lidt anderledes, når de indtastes manuelt, og når de udføres fra en batch-fil.</p><p>Hvis vi ser fremad, så lad os sige, at rækkefølgen af ​​kommandoudførelse om nødvendigt kan ændres ved hjælp af kontrolkommandoer (hvad der kan forårsage et sådant behov er et separat spørgsmål).</p><p>Forveksle ikke den aktuelle mappe med den mappe, hvori batchfilen, der skal startes, er placeret. Lad os antage, at den aktuelle mappe er <b>arbejde</b>, den indeholder en mappe <b>værktøjer</b>, og værktøjsmappen gemmer batchfiler. Du kører en af ​​dem med kommandoen <b>tools\collect-images.bat</b>. Så "fra synspunktet" af denne kommandofil vil den aktuelle mappe stadig være det <b>arbejde</b>, men ikke <b>værktøjer</b>.</p><p><b>Kommenter batchfilen og dens output. ekko og rem kommandoer</b></p><p>En batchfil er i bund og grund et program skrevet i operativsystemets kommandoprocessorsprog. Programmets tekst bør være forsynet med kommentarer, så du, når du vender tilbage til det nogen tid senere, ikke smerteligt behøver at huske, hvorfor dette program er nødvendigt, og hvordan det fungerer.</p><p>MS-DOS-kommandosystemet giver en kommando til at oprette kommentarer: <b>rem</b>. Dette er en dummy-kommando, der ikke involverer at udføre nogen handlinger, men giver dig mulighed for at skrive vilkårlig tekst på linjen efter dit navn. Desuden opfatter kommandoprocessoren det ikke som en syntaksfejl. Et eksempel på formatering af en kommandofil med kommentarer er vist i den følgende liste.</p><p>rem ************************************************** ****</p><p>rem Generering af hjælpefiler</p><p>help copy > copy.help</p><p>hjælp flytte > flytte.hjælp</p><p>flytte *.hjælp msdos-help</p><p>Vær opmærksom på <a href="https://rustrackers.ru/da/useful-on-windows-10/v-eksele-kak-vstavit-dopolnit-yacheiku-dobavlenie-ranee-skopirovannyh-strok/">tomme linjer</a>, hvormed kommandofilen er opdelt i "afsnit". Dette enkle trick giver dig mulighed for at gøre din batch-fil mere læsbar.</p><p>Når du udfører ovenstående batchfil, vil alle kommandoer blive vist på skærmen, efterhånden som de udføres, hvilket ikke altid er praktisk. Kommandoudstedelse kan deaktiveres ved hjælp af kommandoen <b>@ekko slukket</b>. "hund"-symbolet foran kommandoen <b>ekko</b> Det betyder, at selve denne kommando skal udføres i "lydløs" tilstand. Vi kan lige så godt lade være med at bruge kommandolinjen <b>ekko af</b>, men placer en "hund" foran hver kommando.</p><p>I mange tilfælde vil du have en batch-fil til at vise bestemte meddelelser på skærmen (eller i en fil). I nogle tilfælde kan disse være fejlmeddelelser, i andre informationsmeddelelser, der forklarer brugeren af ​​batchfilen, hvad der sker i øjeblikket, når vi opretter en anden nyttig fil med batchfilen. Den samme ekkokommando bruges til at vise meddelelser. Teksten i den besked, der skal vises, sendes til den som en parameter. Listen over den forbedrede batchfil er givet nedenfor.</p><p>rem ************************************************** ****</p><p>rem Generering af hjælpefiler til kopierings- og flytkommandoer</p><p>rem ************************************************** ****</p><p>@echo Generering af hjælpefiler. Et sekund...</p><p>rem Generering af hjælpefiler</p><p>help copy > copy.help</p><p>hjælp flytte > flytte.hjælp</p><p>rem Opret en mappe til at gemme hjælpefiler</p><p>rem Flyt hjælpefilerne til den forberedte mappe</p><p>flytte *.hjælp msdos-help</p><p>ekko Færdig!</p><p><b>Overførsel af parametre til en kommandofil</b></p><p>Lad os sige, at vi vil oprette en batchfil, der først genererer hjælp til at beskrive en brugerspecificeret kommando og derefter indlæser den i Notesblok til visning. Tricket er på en eller anden måde at fortælle det, næste gang vi kører batchfilen, hvilken kommando vi er interesseret i denne gang.</p><p>For at løse dette problem er der tilvejebragt en parameterbehandlingsmekanisme. Det fungerer ganske enkelt. Hvis brugeren, når du kører en batchfil, har angivet flere parametre, angiver vi i teksten til batchfilen den første af dem med posten <b>%1 </b>, anden post <b>%2 </b>, tredje indgang <b>%3 </b> etc. Vi bruger disse notationer i teksten i kommandofilen på nogenlunde samme måde, som vi bruger pronominer i naturlig tale.</p><p>Teksten til kommandofilen, der løser problemet, vises i den følgende liste. Vær opmærksom på kommandoen <b>Hjælp</b>. Den første parameter i kommandofilen sendes til den som dens parameter.</p><p>rem Vi opretter en fil med en beskrivelse af kommandoen,</p><p>rem, hvis navn sendes som en parameter</p><p>hjælp %1 > help.tmp</p><p>rem Indlæs beskrivelsesfilen i Notesblok-editoren</p><p>notesblok hjælp.tmp</p><p>Lad os antage, at vi giver denne batch-fil navnet <b>show-help.bat</b>. For at indlæse en kommandobeskrivelse i en notesblok, f.eks. <b>dir</b>, skal vi indtaste kommandoen som følger.</p><p>show-help.bat dir</p><p>Den følgende kommandofil opretter en mappe med navnet angivet i den første parameter og skriver en fil ind i den, der indeholder teksten, der beskriver kommandoen angivet i den anden parameter.</p><p>rem Eksempel på en kommandofil med to parametre</p><p>rem Opret en mappe med navnet angivet af den første parameter</p><p>rem Opret en fil i den med en beskrivelse af kommandoen,</p><p>rem angivet af den anden parameter</p><p>hjælp %2 > %1\%2.help</p><p>Hvad sker der, hvis brugeren angiver fire parametre i stedet for to, når denne batchfil køres? Det er okay, de vil ikke forstyrre noget, de vil bare ikke blive brugt. Hvad sker der, hvis brugeren kun angiver den første parameter? Den anden parameter vil være tom. Effekten vil være denne: batch-filen vil blive udført, men som i stedet for optagelsen <b>%2 </b> der er ingenting. Hjælp-kommandoen vil generere en liste over alle kommandoer og placere den i en fil med et tomt navn og filtypenavnet .help. Hvis brugeren kører denne fil uden at angive nogen parametre, så når kommandoprocessoren forsøger at udføre kommandoen <b>md</b>(husk, dette er til at oprette en mappe), vi får en syntaksfejl, fordi md-kommandoen skal have en parameter.</p><p>Brug af parametre skaber således store muligheder, men kan komplicere tingene betydeligt. For at batchfilen altid skal fungere korrekt, er det nødvendigt at kontrollere rigtigheden af ​​brugerens angivne parametre og på en eller anden måde reagere på ufuldstændige eller forkerte inputdata. Du kan selvfølgelig ikke gøre dette, men en forkert fungerende batchfil kan give problemer, især hvis den involverer sletning eller overskrivning af data.</p><p><b>Variabler. sæt kommando</b></p><p>En variabel er en navngivet værdi. I programmeringslærebøger sammenlignes en variabel normalt med en konvolut med et navn skrevet på. Du kan lægge noget i konvolutten, for eksempel et vist beløb - det er værdien. Som med konvolutten kan værdien af ​​variablen ændres.</p><p>For at erklære en variabel og samtidig tildele en værdi til den, skal du bruge kommandoen <b>sæt</b>. Et eksempel på denne kommando er vist i den følgende liste.</p><p>For at udtrække værdien af ​​en variabel placeres dens navn mellem to procenttegn, som vist nedenfor.</p><p>rem Kompiler af hjælpefiler i CHM-format</p><p>sæt help_compiler=c:\HTML Help Workshop\hcc.exe</p><p>rem Projekt hjælpefil til "Warehouse" modulet</p><p>sæt store_hpj=hjælp\kilder\butik\store.hpj</p><p>rem Project hjælpefil til "Salg"-modulet</p><p>set sales_hpj=hjælp\kilder\salg\salg.hpj</p><p>rem Kompiler hjælpefiler</p><p>%help_compiler% %store_hpj%</p><p>%help_compiler% %sales_hpj%</p><p>Følgende liste viser, hvorfor variabler er nyttige.</p><p>For det første giver de dig mulighed for at bruge et kort fragment, der er synonymt med det inde i en batch-fil i stedet for et langt fragment (for eksempel stien til hjælpefilens compiler). Det er i hvert fald praktisk.</p><p>For det andet giver de dig mulighed for at undgå gentagelser i teksten i kommandofilen af ​​fragmenter, der kan ændre sig i fremtiden. Forestil dig, at vi geninstallerede Microsoft HTML Workshop til en anden mappe. Hvis en variabel bruges i en batch-fil til at registrere stien til den, vil det være nok kun at rette én linje i batch-filen, nemlig den, hvor værdien af ​​variablen er tildelt <b>help_compiler</b>. Hvis vi skrev stien til compileren, hver gang den skulle kaldes, ville vi efter at have ændret stien være nødt til at rette hver sådan linje. I ovenstående eksempel er der to af dem, men i et rigtigt projekt kan der lige så nemt være fem eller femten af ​​dem, afhængigt af antallet af hjælpefiler, vi ønsker at kompilere. Problemet er ikke, at det er svært at manuelt rette hver linje (der er trods alt ingen, der har annulleret kommandoerne "kopier" og "indsæt", men at dette i høj grad øger sandsynligheden for en utilsigtet fejl.</p><p>Batchfilparametre er også variable, men de adskiller sig fra almindelige variabler ved, at deres værdier indstilles, når batchfilen startes. Når vi i fremtiden taler om variabler, især om at arbejde med deres værdier, vil vi også mene kommandofilparametre, i det mindste i mangel af eksplicitte forbehold herom.</p><p>Når du skriver batch-filer, bruges følgende teknik ofte: flere variable værdier er angivet side om side (eller afbrudt med nogle symboler eller linjer), for at opnå en ny meningsfuld værdi. Et eksempel er vist i den følgende liste.</p><p><b>Kontrol af forhold og valg af muligheder. if og goto kommandoer</b></p><p>If-kommandoen giver dig mulighed for at vælge grupper af kommandoer i en batchfil, der udføres eller ikke udføres afhængigt af visse forhold. Hvad er det for?</p><p>Tilstandskontrol er næsten et nødvendigt trin, når du opretter batchfiler, der bruger parametre. Før arbejdet påbegyndes, skal batchfilen generelt sikre sig, at det korrekte sæt parametre sendes til den. Ellers er der stor risiko for, at det bliver udført forkert eller ineffektivt, og brugeren vil kun undre sig over, hvad problemet er. Desuden, hvis en batch-fil sletter, flytter eller overskriver data, kan den endda forårsage skade, hvis parametrene er forkerte.</p><p>Følgende liste viser hjælpefilens kompileringskommandofil, som du allerede er bekendt med. En kontrol for ikke-tomhed af den første parameter er blevet tilføjet til begyndelsen af ​​kommandofilen. Bemærk venligst denne syntaksfunktion: sammenligningsoperationen bruger et dobbelt lighedstegn. Hvis den første parameter ikke er tom, udføres goto-kommandoen, som "kaster" skallen til den angivne etiket. I dette tilfælde er navnet på denne etiket kompileret. Bemærk, at hvor en etiket vises, er dens navn foran et kolon, men i goto-kommandoen er det ikke det. Hvis den første parameter er tom, går kommandoprocessoren til <a href="https://rustrackers.ru/da/tips/gde-naiti-otstup-krasnoi-stroki-v-vorde-chtoby-sdelat-krasnuyu-stroku/">næste linje</a> som giver en fejlmeddelelse. Og så til den næste, som overfører den til slutningen af ​​filen til en etiket med navnet <b>Afslut</b>.</p><p>hvis ikke "%1"=="" skal du kompilere</p><p>rem Hvis parameteren er tom, viser vi en fejlmeddelelse</p><p>echo hjælpefil projektnavn ikke angivet</p><p>rem og gå til slutningen af ​​batchfilen</p><p>rem til slutmærke</p><p>rem Dette er en etiket ved navn compile</p><p>rem Nedenfor er kompileringskommandoerne</p><p>rem Sti til hjælpefilens kompilator</p><p>set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"</p><p>rem Sti til den mappe, hvor hjælpefilprojekterne er placeret</p><p>set project_path=e:\work\projects\help-projects</p><p>rem Kald compileren til at behandle et specifikt projekt,</p><p>rem, hvis navn sendes i den første parameter</p><p>%help_compiler% %project_path%\%1.hpj</p><p>rem Dette er en etiket, der hedder finish</p><p>Lad os se det i øjnene, den foreslåede metode til at kontrollere en parameter er ikke den mest succesfulde.</p><p>For det første, hvis brugeren fejlagtigt angiver et navn som en parameter <a href="https://rustrackers.ru/da/network-and-internet/effektivnaya-konsol-komanda-setlocal---izmenenie-peremennyh-sredy-dlya/">eksisterende fil</a>, vil batchfilen være tilfreds med dette og forsøge at kompilere. En mere korrekt måde er at kontrollere, om en sådan fil faktisk eksisterer. Til dette formål giver kommandosproget MS-DOS et specielt ord <b>eksisterer</b>. Derfor ville det være bedre at skrive: <b>hvis der findes %1.hpj skal du kompilere</b>.</p><p>For det andet aktiv brug af kommandoen <b>gå til</b>(det såkaldte ubetingede spring) og etiketter forvirrer koden meget. Teknisk set er de ikke dårlige, men fejlretning og vedligeholdelse af en batchfil skrevet i denne stil er ret ubelejligt. Derfor har programmører længe betragtet ubetinget spring som en uønsket teknik. Nedenfor er vist en mere korrekt, set ud fra programmeringsstilen, struktureret version, som bruger konstruktionen <b>hvis ellers</b>. Det fungerer sådan her: hvis betingelsen er sand, kommandoerne i parentes efter <b>hvis</b>, og hvis falsk, så i parentes efter <b>andet</b>.</p><p>rem Tjek om parameteren er indstillet</p><p>hvis ikke eksisterer %1.hpj (</p><p>rem Sti til hjælpefilens kompilator</p><p>set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"</p><p>rem Sti til den mappe, hvor hjælpefilprojekterne er placeret</p><p>set project_path=e:\work\projects\help-projects</p><p>rem Kald compileren til at behandle et specifikt projekt,</p><p>%help_compiler% %project_path%\%1.hpj</p><p>Lad os give endnu et eksempel på at arbejde med checks. Den følgende batch-fil opretter en mappe kaldet <b>hjælpe-filer</b>(antag, at uploade kompilerede hjælpefiler til det). Desuden, hvis en mappe med samme navn allerede eksisterer (og den sandsynligvis indeholder gamle hjælpefiler, som du ikke ønsker at miste: hvad nu hvis de nye viser sig at være værre?), tildeler batchfilen bak-udvidelsen til den . Men hvis mappen <b>help-filer.bak</b> allerede eksisterede, så sletter batchfilen den (vi antager, at en sikkerhedskopi er nok for os).</p><p>hvis der findes help-files.bak rd help-files.bak</p><p>hvis der findes hjælpe-filer ren hjælpe-filer hjælpe-filer.bak</p><p><b>Massefilbehandling. for kommando</b></p><p>For-kommandoen giver dig mulighed for at organisere udførelsen af ​​gentagne handlinger af samme type. Du kan bruge den til at vise tallene fra et til ti, som vist i den følgende liste.</p><p>for /l %%i i (1,1,10) gør ekko %%i</p><p>Variabel <b>jeg</b> kaldet en loop-tæller. På grund af kommandoens unikke syntaks <b>til</b>, skal navnet på loop-tælleren bestå af et bogstav. Desuden, hvis vi skriver en batch-fil, så skal vi sætte et dobbelt procenttegn foran navnet på loop-tælleren, men hvis vi bare skriver en kommando på kommandolinjen, så en enkelt.</p><p>Logikken i denne kommando er som følger. Efter ordet <b>i</b> cyklustællerens ændringsområde er angivet. I <a href="https://rustrackers.ru/da/mobile-device/pereustanovka-windows-bez-poteri-dannyh-neskolko-variantov/">denne mulighed</a> kommandoer er et tredobbelt tal: tællerens begyndelsesværdi, tælletrinnet, tællerens grænseværdi. Når en kommando udføres, vil skallen først tildele variablen <b>jeg</b> betyder <b>1 </b>, og derefter ved hvert trin i løkken vil den øge den med <b>1 </b> indtil det overstiger <b>10 </b>. Det er klart, at der vil være ti sådanne trin. Hvis vi angav et tal som tælletrin <b>2 </b>, så ville løkken blive udført fem gange. Ved hvert trin i løkken udføres løkkens brødtekst skrevet efter ordet <b>gør</b>. I eksemplet ovenfor er dette ekkokommandoen, som viser den aktuelle værdi af sløjfetælleren.</p><p>Du kan sikkert tænke på en situation, hvor noget som dette faktisk er påkrævet, men normalt kommandoen <b>til</b> bruges til at iterere og behandle filer. Det skal siges, at i ret simple tilfælde udføres massefilbehandling ved hjælp af jokertegn. Hvis vi ønsker at erstatte alle filer i den aktuelle mappe med udvidelsen <b>.htm</b> på <b>.html</b>, indtaster vi kommandoen <b>ren *.htm *.html</b>. Men hvis det samme ikke skal gøres i én mappe, men i et mappetræ, så kan du ikke undvære kommandoen for. Den følgende batchfil udfører denne handling for alle htm-filer i webstedsunderbiblioteket i den aktuelle mappe. Mere præcist, i hele mappetræet, der er inde <b>internet side</b>.</p><p>for /r websted %%i i (*.htm) gør ren %%i %%~ni.html</p><p>Nøgle <b>/r</b> angiver behovet for at krydse biblioteket <b>internet side</b> og alt dets indre. Hvis du ikke angiver det (men så har du ikke lov til at angive en mappe), så vil kun filer i den aktuelle mappe blive behandlet. Udvalget af loop-tællerværdier i denne kommandovariant er sættet af alle filer med udvidelsen <b>.htm</b>, placeret inde i en mappe (mere præcist, et træ) <b>internet side</b>. En mærkelig indgang ved første øjekast <b>~ni</b> betyder, at fra værdien af ​​variablen <b>jeg</b> Du behøver kun at vælge filnavnet. MS-DOS-kommandosproget giver flere sådanne modifikatorer, for eksempel skrivning <b>~xi</b> angiver filtypenavnet. Alle modifikatorer er beskrevet i kommandohjælpen <b>til</b>.</p><p>Brødteksten i en løkke kan bestå af flere kommandoer omsluttet i parentes.</p><p>for /r websted %%i i (*.htm) do (</p><p>rem Udskriv filnavnet</p><p>rem Omdøb filen</p><p>ren %%i %%~ni.html</p><p><b>Overførsel af kontrol til en anden batchfil. kalde kommando</b></p><p>Det er muligt at kalde en anden batchfil fra en batchfil. Kommandoen til dette er <b>opkald</b>. Fantastisk, variablerne specificeret i den kaldende batchfil er "synlige" for den kaldte. Og omvendt, efter at den kaldte fil er færdig med sit arbejde og returnerer kontrollen til den, der ringer, vil sidstnævnte "se" de variabler, der efterlades til den af ​​den kaldte "arv". Dette giver batchfiludvikleren mulighed for at gøre noget som dette: Hvis flere kommandofiler skal bruge de samme værdier, for eksempel stier til nogle filer, kan de placeres i en separat kommandofil, som vil spille rollen som en konfigurationsfil. Hver fungerende kommandofil vil begynde med et kald til konfigurationsfilen. Fordelen er, at når du ændrer stier, skal du kun foretage ændringer i én konfigurationsfil, og ikke mange arbejdere.</p><p>"Konfiguration" batchfil <b>config.bat</b>.</p><p>rem Sti til hjælpefilens kompilator</p><p>set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"</p><p>rem Sti til den mappe, hvor hjælpefilprojekterne er placeret</p><p>set project_path=e:\work\projects\help-projects</p><p>"Working" batchfil.</p><p>rem Opsætning af variable</p><p>rem Tjek om parameteren er indstillet</p><p>hvis ikke eksisterer %1.hpj (</p><p>rem Hvis parameteren er tom, viser vi en fejlmeddelelse</p><p>echo Dette hjælpefilprojekt eksisterer ikke.</p><p>rem Nedenfor er kompileringskommandoerne</p><p>rem Kald compileren til at behandle et specifikt projekt,</p><p>rem, hvis navn sendes i den første parameter</p><p>%help_compiler% %project_path%\%1.hpj</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> </div> </div> </div> <aside role="complementary"> <div class="block cat-list"> <div class="block-title"> <h3>Kategorier</h3> </div> <div class="block-content"> <ul> <li> <a href="https://rustrackers.ru/da/category/internet/">Internet</a> </li> <li> <a href="https://rustrackers.ru/da/category/windows-10/">Windows 10</a> </li> <li> <a href="https://rustrackers.ru/da/category/multimedia/">Multimedier</a> </li> <li> <a href="https://rustrackers.ru/da/category/utilities/">Hjælpeprogrammer</a> </li> <li> <a href="https://rustrackers.ru/da/category/network-and-internet/">Netværk og internet</a> </li> <li> <a href="https://rustrackers.ru/da/category/system-programs/">System programmer</a> </li> <li> <a href="https://rustrackers.ru/da/category/configuring-programs/">Opsætning af programmer</a> </li> <li> <a href="https://rustrackers.ru/da/category/os-problems/">OS problemer</a> </li> </ul> </div> </div> <div> </div> </aside> </div> </div> </section> </div> <footer class="b-footer"> <div class="container"> <div class="b-footer-content"> <p>rustrackers.ru - Gratis programmer til din pc</p> </div> </div> </footer> <div id="back-top" class="back-top bounce-out"> <a href="#" title="Top"></a> </div> <script src="/bitrix/templates/newit_siteblog_response/site_files/js/libs/jquery/jquery.js"></script> <script src="/bitrix/templates/newit_siteblog_response/site_files/js/vendor/jquery.colorbox-min.js"></script> <script src="/bitrix/templates/newit_siteblog_response/site_files/js/scripts.min.js"></script> <script src="/bitrix/templates/newit_siteblog_response/site_files/js/custom/custom.js"></script> </body> </html>