Bat-filkommandoer (Windows). Skrive bat-filer - eksempler på batch-filer

Når du arbeider på en datamaskin, er det ofte behov for å gjenta de samme DOS-kommandoene for å utføre periodisk utførte handlinger, bygge en kompleks og flernivåsekvens kjørbare kommandoer eller applikasjoner, automatisering av arbeid med applikasjoner og filer med eller uten deltakelse fra brukeren. Operativsystemet har muligheten til å skrive flere kommandoer i en bat-fil. Samtidig, ganske enkelt ved å kjøre denne kommandofilen (ofte kalt et skript, eller ganske enkelt en "batch-fil"), kan du utføre de foreskrevne kommandoene, og ved å registrere den i hendelser Windows planlegger, kan du automatisere denne prosessen.

Funksjoner av filene av denne typen er fraværet av noen kode inni - det er bare klokkeinformasjon som leses og utføres av DOS-kommandoprosessoren, kompatibel med nesten alle versjoner av operativsystemet Windows-systemer. En av lyse eksempler er autoexec.bat-filen, som er nødvendig for å starte dette operativsystemet, siden det er den som utfører innstillingene under oppstart.

Grunnleggende funksjoner i batchfiler

Kommandoene som bat-filen inneholder kan deles inn i flere grupper basert på funksjonalitet:

Designet for å vise en spesifikk verdi, setning, applikasjon eller informasjon;
- å lansere batch-dokumenter;
- for arbeid med sykluser;
- å skape forgreningsutførelse ved å bruke betingelser;
- for arbeid med applikasjoner.

Kjøring av batchfiler

Du kan kjøre bat-filer forskjellige måter. Når du arbeider i gjeldende katalog, kan du ganske enkelt skrive inn filnavn med tilleggsparametere eller uten dem. I dette tilfellet vil kommandoene til bat-filene etter lansering utføres sekvensielt etter hverandre, uten brukerintervensjon.

Hvis kommandofilen ligger i en annen katalog, må du skrive i tillegg til hele navnet på denne filen full vei til katalogen der den er lagret. Filtypen kan også utelates. For eksempel er gjeldende katalog d:\photo\work, og vera.bat-kommandofilen som må utføres med resize.doc og /p-parameterne er plassert i d:\photo\home-katalogen. Deretter, for at filen vår skal starte, må du skrive inn kommandoen d:\photo\home\vera resize.doc /p eller kommandoen ..\home\vera resize.doc /p.

Avbrudd i arbeidet

BAT-filkommandoer som utføres etter oppstart kan avbrytes ved hjelp av knappekombinasjoner +Og +. Displayet vil be deg om å avbryte kommandofilen med en melding som venter på en Ja eller Nei-inngang. Hvis du skriver inn Y, vil utførelsen bli avbrutt, og den gjenværende listen med kommandoer i bat-filen vil bli ignorert. Hvis du skriver inn symbolet N, vil utførelsen fortsette med neste kommando fra listen.

Kaller opp en annen batchfil

Bat-filer kan inneholde lenker til utførelse av andre skript. Hvis du bare skriver en bat-fil i skriptets brødtekst, vil kommandoene etter den ikke lenger bli utført, siden kontrollen overføres til en annen batch-fil og kommandoene fra den vil bli utført. Hvis det kreves retur etter lansering intern fil, så kan den kalles med CALL-kommandoen. Kommandoformatet ser slik ut: CALL bat-filnavn [oppstartsparametere].

Parametrene som sendes til den/de kalte kommandofilen(e) er vanligvis tegnene %1 - %9. Når alle kommandoene til bat-filene er sendt gjennom i rekkefølge, vil utførelsen av det originale skriptet fortsette fra neste linje.

Trinn-for-steg utførelse

Det er tider når bat-filkommandoer må utføres trinnvis (med et stopp etter hver linje). Oftest er denne modusen nødvendig når du feilsøker eller tester skript. Kommandoen ser slik ut: COMMAND /y/c script_name [parametere].

Når den utføres, vil en Y- eller N-prompt bli gitt for hver kommando. Hvis kommandoen må utføres, trykker du på Enter- eller Y-tasten. Hvis du må hoppe over kommandoen, trykker du ESC eller N.

Deaktiver eller aktiver kommandoutgang til skjermen

Når en bat-fil startes, vises kommandoene på skjermen linje for linje før utførelse og deretter utført. Noen ganger forårsaker dette ulemper, siden med en stor batchfil kjører kommandoer gjennom en lang liste foran brukeren på skjermen, og noen ganger må de vises, for eksempel for dialog eller feilsøking. For å vise kommandoer i bat-filen, bruk ECHO ON-kommandoen. For å deaktivere denne modusen, skriv inn ECHO med OFF-parameteren. I dette tilfellet vil ikke lenger alle ytterligere utførte kommandoer vises på skjermen.

For å deaktivere utdata fra bare én linje av brødtekstfilen til skjermen, kan du bruke @-symbolet helt i begynnelsen av denne linjen. Oftest kan dette symbolet finnes i forbindelse med @ECHO OFF-kommandoen for å forhindre at det vises på skjermen. Denne modusen brukes ofte av angripere, skaper virus basert på bat-filer eller forårsaker mindre og store problemer for databrukere.

Meldinger når du utfører kommandoer

Hvis andre tegn enn PÅ eller AV er plassert etter ECHO-kommandoen, vil de vises på skjermen i alle moduser. Hvis ECHO ikke har noen parametere, viser den tilstanden til visningsmodusen for kjørbare kommandoer - på eller av.

Om ønskelig kan du til og med gjengi (knirkende) lyden fra datamaskinen ved å bruke en bat-fil. Følgende kommandoeksempler er basert på ECHO-setningen med tillegg av spesialtegn.

Å leke lydsignal du må vise et standardtegn med kode 7. Dette kan gjøres ved å trykke på tasten og "7" på det numeriske tastaturet (merket hjem).

For å forbedre lesbarheten til meldinger kan du bruke ECHO-kommandoen med parameteren ".". (den plasseres umiddelbart etter kommandoen uten mellomrom) eller et spesialtegn med kode 255. På skjermen vil det se ut som en tom linje.

ECHO-kommandoen kan brukes til å sende meldinger til en separat fil. Essensen er å omdirigere meldingsutdata til en fil i stedet for til skjermen. For å lagre logger, avstemning og registrere hendelser, kan du bruke bat. Utgangskommandoene har følgende format:

ECHO-melding >> filnavn - kommandoen legger til en linje på slutten av en eksisterende fil. Hvis det ikke finnes en slik fil i denne katalogen, opprettes en ny fil.

ECHO-melding > filnavn - denne kommandoen oppretter en ny fil og skriver gjeldende linje til den. Hvis en slik fil finnes i gjeldende katalog, vil innholdet slettes og kommandoen eller resultatet vil bli skrevet ned.

Bruker kommentarer

For å gjøre det enklere å redigere skript, brukes REM-kommandoen. Windows ignorerer alle bat-filkommandoer etter den når de utføres. De kan sees under redigering og trinn-for-trinn-modus. I alle andre tilfeller vil ikke kommentarer vises på skjermen.

Forsinkelseskommando i bat-fil

Noen ganger under kjøringen av en batchfil blir det nødvendig å midlertidig stoppe kjøringen av kommandoer, for eksempel å vente på et brukersvar, å øke tiden til å lese en lang melding, å sette inn en disk, for å bekrefte tilstedeværelsen av en bruker, eller for å feilsøke en batchfil. Forsinkelseskommandoen i bat-filen skrives som PAUSE uten parametere. I dette tilfellet vil en melding som "Trykk på hvilken som helst tast for å fortsette" vises på skjermen, og skriptutførelse vil bli suspendert til en tastaturknapp trykkes. Hvis kombinasjonen trykkes +eller +, så vil systemet oppfatte dette som fullføringen av den kjørbare filen og vil sende en forespørsel om å bekrefte fullføringen av arbeidet: "Abortere utførelsen av batchfilen? (J/N).» Hvis du trykker på Y-tasten, vil skriptet bli avbrutt på det tidspunktet og alle gjenværende ikke-utførte kommandoer vil bli ignorert. Hvis du trykker på N, fortsetter kjøringen med neste kommando. Når du pauser, vil trykk på andre alfanumeriske taster, samt mellomrom og Enter, fortsette kjøringen av den kjørbare med neste kommando.

filliste

For å kjøre flere filer sekvensielt fra listen som ligger i samme katalog, kan du også bruke en bat-fil. Kommandoene "kjør program etter navn" og "kjør program etter filtype" kan ofte hjelpe til med å automatisere dokumentbehandling, for eksempel sortering av e-postvedlegg. De er forskjellige i parameterne for FOR-kommandoen. Formatet for å skrive det er gitt nedenfor:

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

X - et hvilket som helst symbol, bortsett fra tall fra 0 til 9;

Liste - mellomromseparerte filnavn eller navnet på en enkelt fil; I dette tilfellet kan du bruke spesialtegnene "?" og "*" for å erstatte ett til flere tegn i filnavn;

Kommando - enhver DOS-kommando eller -program, bortsett fra FOR; hvis det er behov for å bruke FOR, må du spesifisere %%x i stedet for %x.

Når du bruker denne kommandoen til å skrive bat-filer, må du ta hensyn til at navn i programmer i DOS-format har en grense for lengden på navnet. For å bytte FOR-kommandoen til å fungere med lange filnavn, må du huske å kjøre kommandoen LFNFOR ON før den for å aktivere modusen for arbeid med lange navn og LFNFOR OFF for å deaktivere den og gå tilbake til standard fillengde.

Mange funksjoner med programmer, for eksempel å sammenligne filer med visse typer utvidelser plassert i en katalog med filer av samme type fra en annen katalog, kopiere alle filene i gjeldende katalog til en annen, sekvensiell kjøring av filer med utvidelser av en bestemt type og navn starter med tall, kan gjøres med bare én kommando skrevet i bat-filen. Programlansering kan kombineres med brukerforespørsler, noe som gjør det enklere å jobbe med data.

Overganger i bat-filer

For å gjøre det lettere å administrere rekkefølgen kommandoer blir lansert i i bat-filer, bruker de ofte hoppkommandoer og etiketter som disse hoppene gjøres etter.
En etikett er en hvilken som helst linje i en kjørbar fil som begynner med et kolontegn. Etikettnavnet er settet med tegn etter kolon til slutten av linjen eller til det første mellomrommet, hvoretter resten av linjen ignoreres, som kan brukes som en kommentar for hoppetiketten.

Hoppkommandoen skrives GOTO med navnet på etiketten atskilt med et mellomrom. Hvis det ikke er noen parameter eller etikettnavnet ikke finnes i kommandofilen, slutter skriptet å fungere på denne kommandoen. Eksempel:

REM (påkrevde kommandoer kjøres).

I dette eksemplet hopper sekvensiell kjøring av kommandofilen, når du når GOTO zzz, til label:zzz og fortsetter med REM, og ignorerer alt mellom hoppkommandoen og den angitte etiketten.

Bruke betingelser når du arbeider med bat-filer

En bat-fil kan eller ikke kan utføre kommandoer avhengig av ulike forhold hvis den bruker IF-hendelseskontroll. Formatet på denne kommandoen er "IF condition-kommando".

Tilstanden representerer ulike varianter av uttrykk:

FEILNIVÅ-nummer - Hvis det forrige kjørende programmet ble avsluttet med en utgangskode lik eller større enn den angitte numeriske verdien, vil betingelsen være sann.

LINJE 1 == LINJE 2 - hvis linjene stemmer helt overens, blir betingelsen sann. I stedet for strenger kan du erstatte tegnene %0 - %9, så vil parametrene til batchfilen sammenlignes.

EXIST - filnavn - hvis den angitte filen eksisterer, er betingelsen sann.

NOT - betingelse - hvis den angitte betingelsen er usann, vil kommandoutgangen motta en sann verdi.

Brukte kommandoer i bat-filer

Hvis du klikker på "Start"-knappen og starter kommandolinjen (cmd), kan du se alt som er satt inn i bat-filen; du kan bruke den som et feilsøkingsverktøy, som en assistent, et program for å få informasjon om kommandoer. For å gjøre dette, kan du ganske enkelt skrive HELP. Dette gir en liste over kommandoer med korte beskrivelser av dem. For å få mer detaljert informasjon kan du skrive inn HJELP med navnet på ønsket kommando.

Bruke bat-filer ved sikkerhetskopiering av data

Batchfiler gjør livet mye enklere for systemadministratorer i deres daglige arbeid. De vanligste områdene i applikasjonen deres er opprettelse, sletting, omdøping og mye mer. Alt dette er basert på bruk av kommandoen COPY bat file. Du kan for eksempel lage et program som lager arkivkopier av dokumenter fra en valgt mappe med brukerdata i visse formater, unntatt for eksempel store mediefiler, gir sikkerhetskopi i en mappe med brukerens navn og kaller den «Command_copying_files.bat» ". Etter dette er det nødvendig å sikre at det starter på et bestemt tidspunkt ved hjelp av den innebygde planleggeren eller av selve programmet og dermed sikre sikkerheten til brukerdata.

Windows bat-filer er en praktisk måte å utføre ulike oppgaver på en PC, som brukes aktivt av dataeksperter. De lar deg automatisere hverdagsoppgaver, redusere gjennomføringstiden og gjøre en kompleks prosess til noe gjennomførbart for den gjennomsnittlige brukeren. Denne artikkelen presenterer de grunnleggende egenskapene til batchfiler og anbefalinger for å skrive dem selv.

Automatisering gjort enkelt

Hvordan lage en bat-fil? For å gjøre dette må du gjøre følgende:

  1. Lag et tekstdokument i et hvilket som helst tekstredigeringsprogram, for eksempel Notisblokk eller WordPad.
  2. Skriv kommandoene dine i den, start med @echo , og deretter (hver gang på en ny linje) tittel [navn på batchskriptet], ekko [melding som vil vises på skjermen] og pause.
  3. Lagre teksten i et elektronisk dokument med filtypen .bat (for eksempel test.bat).
  4. For å starte, dobbeltklikk på den nyopprettede batch-fil.
  5. For å redigere den må du klikke på den Høyreklikk musen og velg "Endre" fra hurtigmenyen.

Råfilen vil se omtrent slik ut:

title Dette er ditt første bat-filskript!

echo Velkommen til manuset batchbehandling!

Flere detaljer om bat-filkommandoer og deres bruk vi vil snakke under.

Trinn 1: Lag et programvareskript

La oss anta at en bruker ofte har problemer med nettverket. Han bruker konstant kommandolinjen, skriver ipconfig og pinger Google for å feilsøke nettverksproblemer. Etter en stund innser brukeren at det ville vært mye mer effektivt om han skrev en enkel bat-fil, skrev den til USB-stasjonen og kjørte den på datamaskinene han diagnostiserer.

Opprette et nytt tekstdokument

En batch-fil gjør det enkelt å utføre repeterende oppgaver på datamaskinen ved hjelp av en kommandolinje Windows-strenger. Nedenfor er et eksempel på et skript som er ansvarlig for å vise noe tekst på skjermen. Før du oppretter en bat-fil, bør du høyreklikke på en tom plass i katalogen og velge "Opprett" og deretter "Tekstdokument".

Legger til kode

Dobbeltklikk på dette nye tekstdokumentet vil åpne standard tekstredigeringsprogram. Du kan kopiere og lime inn eksempelkoden ovenfor i en tekstoppføring.

Bevaring

Skriptet ovenfor viser teksten "Velkommen til batchbehandlingsskriptet!" på skjermen. Elektronisk dokument må registreres ved å velge menypunktet tekstredigerer"Fil", "Lagre som", og spesifiser deretter ønsket bat-filnavn. Den skal fullføres med en .bat-utvidelse (for eksempel welcome.bat) og klikk OK. Til riktig visning Kyrillisk alfabet i noen tilfeller bør du sørge for gjør det riktige valget kodinger. For eksempel, når du bruker konsollen til et Russified Windows NT-system, må dokumentet lagres i CP866. Nå bør du dobbeltklikke på bat-fil-snarveien for å aktivere den.

Men følgende melding vises på skjermen:

"Velkommen til batch-skriptet! Trykk en tast for å fortsette..."

Hvis bat-filen ikke starter, anbefaler brukere å gå til registeret og slette nøkkelen:

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

Tror ikke det er alt batchskript kan gjøre. Skriptparametere er modifiserte versjoner av kommandolinjekommandoer, så brukeren er bare begrenset av deres evner. Og de er ganske omfattende.

Trinn 2: Bli kjent med noen kommandoer

Hvis en PC-bruker er kjent med hvordan man utfører DOS-konsollkommandoer, vil han være en mester i å lage programvareskript fordi de er på samme språk. Linjene i bat-filene vil fortelle cmd.exe-tolken alt som kreves av den. Dette sparer tid og krefter. I tillegg er det mulig å spesifisere noe logikk (for eksempel enkle sløyfer, betingelser, etc., som er konseptuelt lik prosedyreprogrammering).

Innebygde kommandoer

1. @echo er en bat-fil-kommando som lar deg se skriptet fungere i kommandolinje. Den brukes til å se fremdriften til produksjonskoden. Hvis batchfilen har noen problemer, da denne kommandoen lar deg raskt lokalisere problemer. Å legge til av gjør det mulig å raskt avslutte kodekjøring, og unngå utdata unødvendig informasjon til skjermen.

2. Tittel gir samme funksjonalitet som en tag i HTML, dvs. oppretter en overskrift for batchskriptet i kommandolinjevinduet.</p><p>3. Call kaller en bat-fil fra en annen eller en subrutine innenfor ett skript. Potensfunksjonen beregner for eksempel potensen %2 av %1:</p><p>hvis %counter% gtr 1 (</p><p>sett /a teller-=1</p><p>endlocal & set result=%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 sletter kommandolinjen. Brukes for å sikre at forrige utgang <a href="https://rustrackers.ru/no/error-in-windows-10/blokirovka-ekrana-na-android-polnaya-versiya-blokirovka-ekrana-na/">utenlandsk kode</a> forhindret visning av fremdriften til gjeldende skript.</p><p>5. Farge angir font og bakgrunnsfarge. For eksempel, <a href="https://rustrackers.ru/no/mobile-device/kak-izmenit-cvet-izobrazheniya-v-fotoshope-cs6-komanda-zamenit-cvet/">fargekommando</a> f9 spesifiserer hvite bokstaver på blå bakgrunn. En kommando uten en parameter gjenoppretter standardinnstillingene.</p><p>6. Ekko brukes til å vise informasjon, samt for å aktivere (ekko på) eller deaktivere (ekko av) slik utgang. For eksempel ekko-kommandoen. viser <a href="https://rustrackers.ru/no/network-and-internet/kak-opustit-strochku-vniz-v-tekstovom-dokumente-peremeshchenie-i-kopirovanie/">ny linje</a> uten en prikk, men ekko . - punkt. Uten parametere viser kommandoen informasjon om gjeldende status - ekko på eller ekko av.</p><p>7. Rem gir samme funksjonalitet som en tag<! в HTML. Такая строка не является частью выполняемого кода. Вместо этого она служит для пояснения и предоставления информации о нем.</p><p>8. Pause lar deg avbryte utførelsen av kommandoer i bat-filen. Dette gjør det mulig å lese utførte linjer før du fortsetter programmet. I dette tilfellet vises meldingen "For å fortsette, trykk på hvilken som helst tast..." på skjermen.</p><p>9. Set lar deg vise eller angi miljøvariabler. Med /p-bryteren ber kommandoen brukeren om inndata og lagrer den. Med parameteren /a lar den deg utføre enkelt <a href="https://rustrackers.ru/no/useful-on-windows-10/arifmeticheskie-operacii-v-razlichnyh-sistemah-teoriya-po-sistemam/">aritmetiske operasjoner</a>, også tilordne resultatet til en variabel. Når du utfører strengoperasjoner, skal det ikke være mellomrom verken før eller etter likhetstegnet. For eksempel viser set-kommandoen en liste over miljøvariabler, set HOME viser verdiene til argumenter som starter med "HOME", og sett /p input=skriv inn et heltall: ber om et heltall og tilordner det til den aktuelle variabelen.</p><p>10. Start "" [nettsted] vil starte det angitte nettstedet i standard nettleser.</p><p>11. If brukes til å kontrollere en bestemt tilstand. Hvis det er sant, blir neste kommando utført. Det er 3 typer tilstander:</p><ul><li>FEILNIVÅ-nummer - kontrollerer fullføringskoden til den sist utførte instruksjonen for å se om den samsvarer med eller overskrider det angitte tallet. I dette tilfellet indikerer 0 vellykket fullføring av oppgaven, og et hvilket som helst annet tall, vanligvis positivt, indikerer en feil. For eksempel kan du bruke nestede kommandoer for å finne utgangskoden: hvis feilnivå 3 hvis ikke feilnivå 4 oppstod ekkofeil #3.</li><li>Linje1 == linje2 - sjekke om to strenger samsvarer. For eksempel i fravær <a href="https://rustrackers.ru/no/game/buddypress-kak-otklyuchit-aktivaciyu-akkaunta-po-email-nastraivaem/">ekstern parameter</a> kommandoen hvis "%1"= ="" goto ERROR vil overføre kontrollen til ERROR-etiketten.</li><li>EXIST name - sjekker eksistensen av en fil med <a href="https://rustrackers.ru/no/security/itunes-ukazannoe-imya-faila-yavlyaetsya-dublikatom-sozdanie-ssylok-failovoi/">spesifisert navn</a>. Hvis for eksempel ikke eksisterer A:\program.exe, kopierer C:\PROJECTS\program.exe A: program.exe til stasjon A hvis den ikke er der.</li> </ul><p>12. Else må være på samme linje som If-kommandoen. Indikerer behovet for å prestere <a href="https://rustrackers.ru/no/security/kak-sohranit-pdf-v-menshem-razmere-dlya-etogo-sleduite-instrukcii-s-pomoshchyu/">følgende instruksjoner</a>, hvis uttrykket er usant.</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 brukes til å gjenta visse handlinger på hvert medlem av en liste. Har formatet for %%argument i (list) do kommando. Argumentet kan være en hvilken som helst bokstav fra A til Å. Listen er en sekvens av strenger atskilt med mellomrom eller komma. Jokertegn kan også brukes. For eksempel:</p><ul><li>for %%d i (A, C, D) do DIR %%d - viser sekvensielt katalogene til stasjonene A, C og D;</li><li>for %%f i (*.TXT *.BAT *.DOC) do TYPE %%f - skriver ut innholdet av alle .txt-, .bat- og .doc-filer i gjeldende katalog;</li><li>for %%P i (%PATH%) gjør hvis det finnes %%P\*.BAT COPY %%P\*.BAT C:\BAT - kopierer alle batchfiler som finnes i alle kataloger i søkeruten til C: \ mappe WAT.</li> </ul><p>14. Et kolon (:) foran et ord danner en lenke fra det, som lar deg hoppe over en del <a href="https://rustrackers.ru/no/useful-on-windows-10/chto-takoe-programmnyi-kod-ishodnyi-kod-programmy-smotret-chto-takoe/">programkode</a> eller gå tilbake. Brukes med kommandoene Call og Goto, som indikerer fra hvilket tidspunkt utførelsen av bat-filen skal fortsette, for eksempel når en viss betingelse er oppfylt:</p><p>15. Variabler:</p><ul><li>%%a representerer hver fil i mappen;</li><li>%CD% - gjeldende katalog;</li><li>%DATE% - systemdato, formatet avhenger av lokaliseringen;</li><li>%TID% - <a href="https://rustrackers.ru/no/customize-windows-10/oshibka-v-mozilla-firefox-vashe-soedinenie-ne-zashchishcheno-otsutstvie/">system tid</a> i form TT:MM:SS.mm.;</li><li>%RANDOM% - generert pseudo-tilfeldig tall i området fra 0 til 32767;</li><li>%ERRORLEVEL% - utgangskode returnert av den sist utførte kommandoen eller bat-skriptet.</li> </ul><p>Du kan trekke ut deler av en streng inneholdt i en variabel, gitt dens posisjon og lengde, slik:</p><p>%[variabel]:~[start],[lengde]%. For eksempel kan du vise en dato i formatet DD/MM/ÅÅÅÅ som ÅÅÅÅ-MM-DD slik: echo %DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.</p><p>16. (". \") - <a href="https://rustrackers.ru/no/questions/ne-udalyaetsya-fail-iz-kornevoi-papki-android-chistka-ustroistva-ot/">Rotmappen</a>. Når du arbeider med konsollen, før du endrer filnavnet, sletter det osv., må du dirigere kommandohandlingen til en bestemt katalog. Når du bruker en batchfil, er det bare å kjøre den i en ønsket katalog.</p><p>17. %digit - aksepterer verdiene til parametere som sendes av brukeren til bat-filen. Kan skilles med mellomrom, komma eller kolon. Et "siffer" er et tall mellom 0 og 9. For eksempel tar %0 verdien av gjeldende kommando. %1 samsvarer med den første parameteren osv.</p><p>18. Shift - kommando som brukes til å skifte <a href="https://rustrackers.ru/no/setting-up-software/funkciya-sql-s-vhodnymi-parametrami-strokovye-funkcii-sql/">inndataparametere</a> med én stilling. Brukes når eksterne argumenter sendes til batchfilen. For eksempel kopierer følgende bat-fil filene spesifisert som parametere på kommandolinjen til stasjon D:</p><p>hvis ikke (%1)==() går du til neste</p><p>I tillegg kan du utføre følgende manipulasjoner med argumentene:</p><ul><li>%~ - fjern omkringliggende anførselstegn;</li><li>%~f - utvide parameteren til det fullstendige banenavnet sammen med stasjonsnavnet;</li><li>%~d - vis disknavn;</li><li>%~p - vis bare banen;</li><li>%~n - velg bare filnavnet fra parameteren;</li><li>%~x - la bare utvidelsen være igjen;</li><li>%~s - konverter banen til en representasjon med korte navn;</li><li>%~a - trekk ut filattributter;</li><li>%~t - vis dato og klokkeslett for opprettelsen;</li><li>%~z - vis filstørrelse;</li><li>%~$PATH: - søker i katalogene som er oppført i <a href="https://rustrackers.ru/no/education-and-science/tipy-dannyh-v-perl-dostup-k-peremennym-okruzheniya-operatory/">miljøvariabel</a> PATH, og utvider parameteren til det første samsvarende fullt kvalifiserte navnet funnet, eller returnerer en tom streng ved feil.</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>Jokertegn</h2><p>Mange kommandoer godtar filnavnmønstre - tegn som lar deg matche en gruppe filnavn. Jokertegn inkluderer:</p><ul><li>* (stjerne) - angir en hvilken som helst sekvens av tegn;</li><li>? (spørsmålstegn) - erstatter ett (eller 0) tegn annet enn et punktum (.).</li> </ul><p>For eksempel, <a href="https://rustrackers.ru/no/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/no/questions/kak-vstavit-izobrazhenie-v-tekstovyi-dokument-kak-sozdat/">tekstdokumenter</a>, hvis navnelengde ikke overstiger 3 bokstaver.</p><h2>Funksjoner</h2><p>Som underrutiner emuleres de ved å bruke kommandoene call, setlocal, endlocal og label. Følgende eksempel viser muligheten for å definere en variabel der resultatet lagres på anropslinjen:</p><p>ring: si 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 utføre enkle aritmetiske operasjoner på 32-biters heltall og biter ved å bruke kommandoen set /a. Maksimalt støttet antall er 2^31-1 = 2147483647, og minimum er -(2^31) = -2147483648. Syntaksen minner om programmeringsspråket C. TIL <a href="https://rustrackers.ru/no/graphics-and-design/arifmeticheskie-operatory-php-operacii-v-php/">aritmetiske operatorer</a> inkluderer: *, /, %, +, -. I bat-filen skal % (resten av en heltallsdivisjon) legges inn som "%%".</p><p>Operatører med <a href="https://rustrackers.ru/no/problem-with-os/chislo-19-v-dvoichnoi-sisteme-perevod-chisel-v-pozicionnyh-sistemah/">binære tall</a> tolke tallet som en 32-bits sekvens. Disse inkluderer: ~ (bitvis IKKE eller komplement), & (AND), | (ELLER), ^ (eksklusiv ELLER),<< (сдвиг влево), >> (skift til høyre). <a href="https://rustrackers.ru/no/android/php-logicheskii-operator-isklyuchayushchee-ili-uslovnyi-operator-if-v/">Logisk operatør</a> fornektelse er! (Utropstegn). Den endrer 0 til 1 og en verdi som ikke er null til 0. Kombinasjonsoperatoren er (komma), som tillater <a href="https://rustrackers.ru/no/setting-up-software/excel-okruglenie-v-bolshuyu-storonu-do-celogo-kak-okruglyat-chisla-v-bolshuyu-i/">større antall</a> operasjoner i ett sett kommando. De kombinerte tilordningsoperatorene += og -= i uttrykkene a+=b og a-=og tilsvarer uttrykkene a=a+b og a=a-b. *=, %=, /=, &=, |=, ^=, >>=, fungerer på samme måte.<<=. Приоритет операторов следующий:</p><p>(); %+-*/; >>, <<; &; ^; |; =, %=, *=, /=, +=, -=, &=, ^=, |=, <<=, >>=; ,</p><p>Bokstaver kan angis som desimal, heksadesimal (med innledende 0x) og oktale tall (med innledende null). For eksempel, sett /a n1=0xffff tildeler n1 en heksadesimal verdi.</p><h2>Eksterne kommandoer</h2><ul><li>Avslutt brukes til å avslutte DOS-konsollen eller (med /b-alternativet) bare gjeldende bat-fil eller rutine.</li><li>Ipconfig er en klassisk konsollkommando som viser nettverksinformasjon. Det inkluderer MAC- og IP-adresser, og subnettmasker.</li><li>Ping pinger en IP-adresse, sender datapakker til den for å estimere avstanden og latens (respons). Brukes også til å sette en pause. For eksempel stopper kommandoen ping 127.0.01 -n 6 kjøring av kode i 5 sekunder.</li> </ul><p>Biblioteket med kommandoer i bat-filer er enormt. Heldigvis er det mange sider på nettet som viser dem alle sammen med batchskriptvariabler.</p><p><img src='https://i0.wp.com/syl.ru/misc/i/ai/324915/1862017.jpg' width="100%" loading=lazy loading=lazy></p><h2>Trinn 3: Skriv og kjør bat-filen</h2><p>Følgende skript vil gjøre din daglige nettaktivitet mye enklere. Hva om du umiddelbart vil åpne alle favorittnyhetssidene dine? Siden skript bruker konsollkommandoer, kan du lage et skript som åpner hver nyhetsfeed i et enkelt nettleservindu.</p><p>Deretter bør du gjenta prosessen med å lage en bat-fil, og starter med et tomt tekstdokument. For å gjøre dette, må du høyreklikke på en tom plass i hvilken som helst mappe og velge "Ny" og deretter "Tekstdokument". Etter å ha åpnet filen, må du skrive inn følgende skript, som starter de viktigste russiskspråklige mediene som er tilgjengelige på Internett:</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 skriptet inneholder start-“”-kommandoene, som åpner flere faner. Du kan erstatte de foreslåtte koblingene med andre etter eget valg. Etter å ha skrevet inn skriptet, gå til "Fil"-menyen i editoren, og deretter til "Lagre som..." og lagre dokumentet med .bat-utvidelsen, endre parameteren "Filtype" til "Alle filer" (* . *).</p><p>Etter å ha lagret, for å kjøre skriptet, dobbeltklikker du på det. Nettsider vil umiddelbart begynne å laste. Hvis du ønsker, kan du plassere denne filen på skrivebordet. Dette lar deg få tilgang til alle favorittsidene dine umiddelbart.</p><h2>Arrangør</h2><p>Hvis du laster ned flere filer om dagen, vil snart hundrevis av dem samle seg i mappen "Nedlastinger". Du kan lage et skript som vil organisere dem etter type. Bare plasser .bat-filen med programmet i mappen med uorganiserte data og dobbeltklikk for å kjøre:</p><p>rem hver fil i mappen</p><p>for %%a i (".\*") do (</p><p>sjekk for tilstedeværelsen av en utvidelse og ikke-tilhørighet til dette skriptet</p><p>if "%%~xa" NEQ "" if "%%~dpxa" NEQ "%~dpx0" (</p><p>sjekk for tilstedeværelsen av en mappe for hver utvidelse, og hvis den ikke er der, opprett den</p><p>hvis ikke eksisterer "%%~xa" mkdir "%%~xa"</p><p>flytt filen til mappen</p><p>flytt "%%a" "%%~dpa%%~xa\"</p><p>Som et resultat blir filer i "Nedlastinger"-katalogen sortert i mapper hvis navn tilsvarer filtypen. Det er så enkelt. Dette batch-skriptet fungerer med alle typer data, enten det er et dokument, video eller lyd. Selv om PC-en ikke støtter dem, vil skriptet fortsatt lage en mappe med riktig etikett. Hvis det allerede er en JPG- eller PNG-katalog, vil programmet ganske enkelt flytte filer med denne utvidelsen dit.</p><p>Dette er en enkel demonstrasjon av hva batch-skript kan gjøre. Når en enkel oppgave må gjøres om og om igjen, det være seg å organisere filer, åpne flere nettsider, gi flere navn eller lage kopier av viktige dokumenter, kan et batch-skript hjelpe deg med å få den kjedelige jobben gjort med et par klikk.</p> <p>Nå er det på tide å vurdere <b>bat-kommandoer</b>. I utgangspunktet brukes kommandoer som er lagt inn i cmd her, men det er også noen som ikke gir mening å bruke på kommandolinjen.</p><h2>Hvordan få en komplett liste over flaggermus-kommandoer</h2><p>For å beskrive alle kommandoene, må du skrive en hel serie artikler, for ikke å overbelaste deg, vil vi begrense oss til en artikkel og vurdere kompakt informasjon. Som du vet, er bat-filen og cmd-kommandoene de samme for å få en liste over dem eller . Skriv inn hjelpekommandoen, som på engelsk er skrevet som hjelp, trykk Enter. Som et resultat vil datamaskinen skrive alle kommandoene med en kort beskrivelse i cmd-grensesnittet.</p><p>Etter å ha gjennomgått denne listen, vil du finne ut mer detaljert hva en spesifikk bat-kommando er. La oss for eksempel velge for-kommandoen, for å beskrive den skriver vi inn hjelp for eller for /? og klikk enter. Som et resultat vil du motta online hjelp for kommandoen; den er omfangsrik, så du må trykke på en hvilken som helst tast flere ganger for å lese den påfølgende beskrivelsen. På denne måten kan du lære syntaksen til en bestemt kommando.</p><h2>bat-fil-kommandoer</h2><p>La oss nå bli kjent med kommandoene som brukes i batchfilen, med en kort beskrivelse. De skiller ikke mellom store og små bokstaver, men vi har listet dem opp med store bokstaver for å hjelpe med identifikasjon.</p><table><tbody><tr><td width="319">@ </td><td width="319">Alle kommandoer utført av flaggermus vises på skjermen, for å fjerne unødvendige ting, plasseres en "hund" foran kommandoen. Brukes ofte med @echo av.</td> </tr><tr><td width="319">sett</td><td width="319">Setter variabler. For eksempel, setper=c:\windows her per tildeler banen. Du kan skrive en tungvint verdi til en variabel og spesifisere den i skriptet, noe som gjør koden mer kompakt. Hvis innholdet endres, trenger du ikke endre verdiene overalt der denne variabelen er gitt.</td> </tr><tr><td width="319">:: </td><td width="319">En av to metoder for å kommentere i en bat-fil uten å vise denne linjen på skjermen.</td> </tr><tr><td width="319">:MERKELAPP</td><td width="319">Når du legger til et kolon i et ord, opprettes en etikett som lar deg hoppe til forskjellige deler av brødtekstfilen. En etikett kan ha et annet navn, LABEL er et eksempel.</td> </tr><tr><td width="319">ANROP</td><td width="319">Bat er en kommando som kaller en batchfil i en annen. Alle parametere beskrevet i en av filene kan overføres til hverandre.</td> </tr><tr><td width="319">VALG</td><td width="319">Velg kommando.</td> </tr><tr><td width="319">CLS</td><td width="319">Fjerner innholdet i skallet som vises over CLS.</td> </tr><tr><td width="319">EKKO</td><td width="319">Viser en melding på skjermen. For eksempel "ECHO Hallo!" vil vise "Hei!" Hvis du ikke bruker @ECHO off i begynnelsen av batchfilen, vil du se banen til bat-filen og to meldinger, noe som er unødvendig. Du kan opprette en tom linje ved å skrive ECHO. med en periode på slutten.</td> </tr><tr><td width="319">EXIT</td><td width="319">Avslutter gjeldende batchskript.</td> </tr><tr><td width="319">GÅ TIL ETIKETTE</td><td width="319">Brukes til å hoppe til en bestemt etikett i <a href="https://rustrackers.ru/no/internet/kak-vosstanovit-udalennye-faily-diska-programmy-dlya-vosstanovleniya-failov/">i dette tilfellet</a> til LABEL og kjører skriptet etter det.</td> </tr><tr><td width="319">HVIS</td><td width="319">Som i bat-programmeringsspråkene, representerer if-kommandoen oppfyllelsen av en betingelse, avhengig av hvilket skript som vil gå langs en eller annen vei. Vennligst se hjelpen for syntaks.</td> </tr><tr><td width="319">til</td><td width="319">En løkke som brukes til å organisere utførelsen av de samme handlingene.</td> </tr><tr><td width="319">PAUSE</td><td width="319">Hvis du trenger å se utdataene til et skript og det kjører og vinduet lukkes raskt, bruk PAUSE. Den lar deg se resultatet og fullføre skriptet ved å trykke på hvilken som helst knapp.</td> </tr><tr><td width="319">R.E.M.</td><td width="319">Den andre måten å kommentere på. I motsetning til:: skrives ut på skjermen hvis det ikke er noen @ECHO off-konstruksjon.</td> </tr><tr><td width="319">SKIFTE</td><td width="319">Endrer posisjonen til batch-parametere i bat-filen.</td> </tr><tr><td width="319">START</td><td width="319">Starter programmer, vinduer osv. Har mange attributter (se hjelp).</td> </tr></tbody></table><p>Dette er grunnlaget for flaggermus-kommandoer. Syntaksen til noen elementer er vanskelig for nybegynnere og krever viss kunnskap. Alle <i>bat-fil-kommandoer</i>, beskrevet ovenfor, vurderes overfladisk, for å finne ut deres formål, og du vil finne hele syntaksen i Windows-hjelpen.</p> <p>1. S.BAT-kommandofil, som gir sidevis visning av innholdet i en gitt tekstfil (med en pause etter at hver skjerm er fylt):</p> <p>HVIS /%1==/ GÅ TIL ERR1 hvis ingen argument (filnavn) er oppgitt, så ERR1</p> <p>HVIS IKKE FINNES %1 GÅ TIL ERR2 – hvis den angitte filen mangler</p> <p>:ERR1 Ingen argument gitt</p> <p>ECHO Spesifiser filnavn</p> <p>:ERR2 Fil mangler</p> <p>ECHO-fil %1 mangler</p> <p>Mer-kommandoen gir side-for-side (fullskjerm) visning av innholdet i en tekstfil.</p> <p>Syntaks:</p> <p>MORE-filteret leser en tekstfil fra standard I/O-enheten og viser innholdet, pause hver gang skjermen fylles. I dette tilfellet vises meldingen –MORE- på den siste (nederste) linjen på skjermen. For å vise neste side, trykk på en hvilken som helst tast på tastaturet.</p> <p>2. Kommandofil S.BAT, som gir mulighet for å legge til søkeruter for kjørbare filer til eksisterende og vise alle installerte ruter:</p> <p>HVIS /%1==/ GÅ TIL SLUTT</p> <p>SET PATH=%PATH%;%1</p> <p>PATH-kommandoen brukes til å angi og vise søkestier for kjørbare filer.</p> <p>STI...]</p> <p>STI; -kansellerer alle søkeruter.</p> <p>Den kjørbare filen søkes først i katalogen som er tildelt i henhold til spesifikasjonen, og deretter i hver spesifisert katalog.</p> <p>Hvis bare kommandonavnet angis, vises gjeldende søkeruter.</p> <p>Eksempel på bruk:</p> <p>S C:\EDIT\TEXT\ME C:\DOS</p> <p>Batchfilen ovenfor fungerer bare bra hvis verdien til den globale PATH-variabelen passer på én linje på skjermen.</p> <p>3. Kommandofil DEL.BAT for å slette BAC-filer fra den spesifiserte katalogen, hvis spesifisert, eller fra arbeidskatalogen, hvis argumentet ikke er spesifisert</p> <p>HVIS IKKE /%1==/ SETT #DIR=%1\</p> <p>HVIS FINNES %#DIR%*.VAK GÅ TIL DEL</p> <p>ECHO Ingen VAC-filer å slette</p> <p>DIR %#DIR%*.VAK</p> <p>ECHO For å nekte sletting,</p> <p>ECHO trykk Ctrl-Break, ellers -</p> <p>EKKO hvilken som helst tast for å fortsette</p> <p>DEL %#DIR%*.VAK</p> <p>ECHO *** Filer slettet ***</p> <p>Denne filen bruker en global variabel med et unikt navn #DIR. Først tilbakestilles verdien av SET-kommandoen. Dette er for å sikre at den er tom og ikke satt igjen etter forrige kall til DEL.BAT-filen. Deretter, hvis argumentet er gitt, legges en \ til høyre og resultatet lagres som verdien av den globale variabelen #DIR. I påfølgende kommandoer brukes den som et prefiks til de kvalifiserte navnene på .vac-filer.</p> <p>Hvis du spesifiserer d: som argument, slettes .vac-filer ikke i gjeldende katalog, men i rotkatalogen til stasjon d. Derfor, hvis du trenger å angi gjeldende katalog, må du bruke d:..-konstruksjonen.</p> <p>4. Kommandofil LEX.BAT for å kalle opp LEXICON-tekstredigeringsprogrammet med automatisk innlasting av den siste tekstfilen som tidligere ble brukt til samme formål:</p> <p>HVIS /%1==/ GÅ TIL N</p> <p>Hvis du, som svar på DOS-ledeteksten, går inn</p> <p>LEX C:\TXT\M.TXT</p> <p>da vil spesifikasjonen til den spesifiserte filen bli lagret i den globale variabelen #DOC, og selve filen vil bli lastet inn i editoren. #DOC-verdien vil da bli brukt når LEXICON.EXE kjøres av LEX-kommandolinjen uten et argument, og sikrer at den siste filen som er spesifisert lastes inn i editoren.</p> <p>5. For å automatisk svare på en OS-kommando eller programforespørsel i en batchfil, kan du bruke følgende skjema:</p> <p><i>prosess</i> <YES</p> <p>ECHO-kommandoen produserer en JA-tekstfil med svaret Y. Innholdet i JA-filen mates deretter til prosessens standardinndata. Dette simulerer inntasting av svaret Y fra tastaturet. Når prosessen er fullført, slettes YES-filen. Naturligvis kan du angi alle nødvendige svar på en lignende måte.</p> <p>Ulempen med den beskrevne metoden er behovet for å opprette og slette filen, noe som tar mye tid. Denne ulempen kan elimineres ved å lage permanente tekstfiler med ulike svaralternativer og bruke dem i alle batchfiler.</p> <p>En annen måte å automatisk legge inn et svar i en prosess er å bruke en linje som</p> <p>EKKO Y| <i>prosess</i></p> <p>6. Batch filer for å lagre arbeidskatalogen på et bestemt tidspunkt og gjenopprette den etter å ha satt en ny arbeidskatalog. For å gjøre dette kan du for eksempel lage følgende batchfiler i C:\BAT-katalogen</p> <p>CD>C:\BAT\CURDIR</p> <p>KOPIER C:\BAT\CDFILE+C:\BAT\CUR C:\BAT\RETURN.BAT</p> <p>CDFILE-tekstfilen inneholder "begynnelsen" av CD-kommandoen. Den må formes med ett mellomrom etter CD-en og uten EOF-markøren. SAV.BAT-kommandofilen registrerer arbeidskatalogspesifikasjonen i en CUR-tekstfil og genererer en RETURN.BAT-kommandofil for å gjenopprette den katalogen.</p> <p>For enkel bruk bør en av søkerutene for kjørbare filer være C:\BAT.</p> <p>La arbeidskatalogen være C\EDIT\TEXT\LEX. Hvis du kaller opp SAV-kommandofilen (uten argumenter), vil en RETURN-kommandofil genereres som inneholder kommandoen</p> <p>CD C\EDIT\TEXT\LEX</p> <p>Etter dette kan du endre arbeidskataloger med CD-kommandoen (men ikke med d:-kommandoen). For å gå tilbake til LEX vil det være nok å skrive inn RETURN fra tastaturet.</p> <p>Hver påfølgende kjøring av SAV-filen kansellerer den forrige uten mulighet for gjenoppretting.</p> <p>Den beskrevne teknikken gjør arbeidet enklere hvis det er en forgrenet filstruktur på harddisken.</p> <p>7. F.BAT-kommandofil for sikkerhetskopiering av innholdet på harddisken til stasjonen i stasjon A:.</p> <p>ATTRIB +A C:\*.* /S arkivfil</p> <p>ECHO Plasser den formaterte disken i stasjon A</p> <p>EKKO og trykk deretter på en hvilken som helst tast</p> <p>XCOPY C:\*.* A: /S /M /E /V</p> <p>HVIS FEILNIVÅ 4 GÅ TIL LOOP</p> <p>ECHO Reservasjon fullført</p> <p>ATTRIB-kommandoen setter A-attributtet for alle filer. XCOPY kopierer filstrukturen fra harddisken til disken i stasjon A. For alle kopierte filer tilbakestilles A-attributtet. XCOPY-kommandoen mislykkes når ett av følgende skjer:</p> <p>1) disketten er full, men ikke alle filene har blitt sikkerhetskopiert ennå (returkode 4);</p> <p>2) alle filer er reservert, ingen filer ble funnet å kopiere, eller kommandoutførelsen ble avbrutt av Ctrl-Break (henholdsvis returkoder 0, 1 og 2);</p> <p>3) det oppstod en kritisk I/O-feil (returkode 5).</p> <p>I tilfeller 1 og 3 vil IF-kommandoen overføre kontrollen til LOOP-etiketten for å fortsette (gjenoppta) sikkerhetskopieringen på neste diskett. I dette tilfellet blir ikke allerede kopierte filer sikkerhetskopiert, siden deres A-attributter tilbakestilles.</p> <p>Hvis tilfelle 2 oppstår, fullføres reservasjonen og en tilsvarende melding sendes.</p> <p>Selvfølgelig kan du introdusere ytterligere analyse av returkode 5.</p> <p>8. Sikkerhetskopiering av hele innholdet på en harddisk krever mye tid og et stort antall disker. Derfor, når du sikkerhetskopierer igjen, er det bedre å bruke /D-bryteren i XCOPY-kommandoen for å kopiere bare de filene som ble opprettet og oppdatert etter datoen for siste sikkerhetskopiering. Samtidig, for å velge filer riktig, er det nødvendig å sikre at DOS kjører til enhver tid med riktig dato.</p> <p>I tillegg må brukeren huske eller skrive ned datoen filene sist ble sikkerhetskopiert for å indikere dette i /D-bryteren. For å bli kvitt dette kan du lage følgende batchfiler:</p> <p>EKKO |MER|DATO|FINN /V "Enter" >B.BAT</p> <p>ATTRIB +A C:\*.* /S</p> <p>ECHO Plasser platen i stasjon A</p> <p>XCOPY C\*.* A: /S /M /E /V /D:%4</p> <p>HVIS FEILNIVÅ 4 GÅ TIL LOOP</p> <p>ECHO Reservasjon fullført</p> <p>For å bruke disse filene, må du generere BAT-filen én gang ved å bruke kommandoen</p> <p>EKKO|MER|DATO|FINN /V "Enter" >B.BAT</p> <p>Denne filen vil bare inneholde en linje som ligner på følgende:</p> <p>Gjeldende dato er lørdag 26-1-2009</p> <p>(Gjeldende dato er lørdag 26.01.2009)</p> <p>MORE-kommandoen, når det ikke er noen tekst å vise (fra ECHO-kommandoen), genererer en EOL-markør og simulerer derved å trykke på Enter-tasten som svar på en forespørsel om gjeldende dato med DATE-kommandoen. FIND-kommandoen avskjærer den andre linjen fra utdataene fra DATE-kommandoen (Skriv inn ny dato (dd-mm-åå):).</p> <p>Du kan lage en B.BAT-fil på andre måter, men innholdet må være i spesifisert form.</p> <p>For å sikkerhetskopiere nye filer (opprettet på dagen for siste sikkerhetskopiering eller senere), er det nå tilstrekkelig å starte kjøringen av kommandofilen D. Den kaller B.BAT-filen, som tolkes som en kommandofil. Dette kjører batchfilen C.BAT med fire argumenter (dato, er, ukedag og dato).</p> <p>Det fjerde argumentet (dato) overstyrer %4-alternativet i /D-bryteren til XCOPY-kommandoen.</p> <p>Når sikkerhetskopieringen er fullført, går kontrollen tilbake til D.BAT-filen og DATE-kommandoen utføres, og oppdaterer B.BAT-filen <a href="https://rustrackers.ru/no/graphics-and-design/wordpad-kak-dobavit-stranicu-vstavka-tekushchei-daty-operacii-s-sozdaniem-i/">dagens dato</a>, dvs. dato for siste reservasjon. Derfor, etter å ha kjørt DATECOPY etter en viss tidsperiode, vil sikkerhetskopieringen fortsette som forventet (alle filer vil bli kopiert basert på datoen i B.BAT)</p> <p><b>Alle kan skrive bat-filer!</b></p><p><b>Kommandoprosessor</b></p><p>Mange operativsystemer, inkludert de utviklet av Microsoft, inkluderer <a href="https://rustrackers.ru/no/multimedia/kakuyu-sistemu-stavit-32-ili-64-bitnuyu-razryadnost-processora-v-komandnoi/">kommandoprosessor</a>. Dette er navnet på et program som starter utførelsen av ulike handlinger som svar på kommandoer som er lagt inn av brukeren fra tastaturet. I utgangspunktet består disse handlingene av løping <a href="https://rustrackers.ru/no/questions/5-kompyuternyh-programm-obyazatelnye-programmy-dlya-noutbuka-kakie/">nødvendige programmer</a> med visse parametere. Men ikke bare; Vi vil se senere at noen kommandoer utføres direkte av kommandoprosessoren. I utgangspunktet er dette kommandoene som tjener til å kontrollere konteksten og rekkefølgen av kommandoutførelse. Vi vil imidlertid ikke tenke for dypt på kommandoenes natur, i hvert fall ikke med mindre vi må. Enda viktigere er at ethvert program som er teknisk mulig å kjøre fra kommandolinjen anses av kommandoprosessoren som en kommando. Den skiller ikke mellom de opprinnelige kommandoene som opprinnelig var innebygd i operativsystemet og programmer som ble installert på toppen av det.</p><p>Slik starter du kommandoprosessoren:</p><ol><p>Klikk på knappen <b>Start</b>. Hovedmenyen vil vises på skjermen.</p><p>Velg Kjør fra hovedmenyen. En dialogboks vises på skjermen <b>Starter programmet</b>.</p><p>Skriv inn strengen i Åpne-feltet <b>cmd</b>.</p><p>Klikk på knappen <b>OK</b>. Et kommandoprosessorvindu vises på skjermen.</p> </ol><p><b>Kommandolinje og kommandoer</b></p><p>Kommandoprosessorvinduet i sin opprinnelige form ser dystert ut, og å jobbe med det er ikke særlig praktisk for folk flest. Mye enklere å bruke <a href="https://rustrackers.ru/no/news/skachat-prilozhenie-moi-faily-na-telefon-luchshie-failovye-menedzhery-dlya/">filbehandlere</a> i Norton Commander-stil. De gir både verktøy for raskt å navigere i filsystemet og timing for å legge inn kommandoer.</p><p>For å angi kommandoen:</p><ol><p>Skriv inn kommandoteksten på kommandolinjen.</p><p>Trykk på tasten <b>Tast inn</b>.</p> </ol><p>Kommandoprosessor og kommandoer <a href="https://rustrackers.ru/no/customize-windows-10/klassifikaciya-operacionnyh-sistem-po-semeistvam-tipy-operacionnyh-sistem/">operativsystem</a> er beskrevet i driftsdokumentasjonen for sistnevnte. Denne dokumentasjonen er delvis inneholdt i selve operativsystemet. For å få tilgang til den, bruk kommandoen <b>hjelp</b>. Denne kommandoen viser en liste <a href="https://rustrackers.ru/no/disks-and-files/spravka-v-komandnoi-stroke-komandy-pomogayushchie-rabotat-s-cmd-dostupnye/">tilgjengelige kommandoer</a>. For å få en beskrivelse av en spesifikk kommando, bruk kommandoen som en parameter <b>hjelp</b> navnet hennes skal angis. Kommandolinjen vist i følgende liste viser en beskrivelse av kommandoen <b>til</b>.</p><p>Hvis du prøvde å skrive inn kommandoen <b>hjelp</b>, har du sannsynligvis lagt merke til at resultatet av arbeidet (den såkalte utgangen) ikke passer på en skjerm. Det samme problemet oppstår med kommandobeskrivelsesteksten <b>til</b>. Den gode nyheten er at utdata kan omdirigeres til en fil. Kommandolinjen vist i følgende liste genererer filen <b>commands.txt</b>, som inneholder en liste over alle MS-DOS-kommandoer.</p><p>hjelp > commands.txt</p><p>For å generere en fil med en beskrivelse av kommandoen <b>til</b>, må du gi følgende kommando (du kan gjøre utdatafilnavnet hva som helst).</p><p>hjelp for > for.txt</p><p>Totalt er det litt mindre enn 80 kommandoer i moderne Microsoft-operativsystemer, og det er umulig å beskrive dem i en artikkel. Her kan vi bare nevne noen få kommandoer som er nyttige for å automatisere filbehandling og vise hvordan du bruker dem. Disse kommandoene vil bli brukt i ytterligere eksempler. Du kan alltid avklare detaljene med kommando <b>hjelp</b> eller i katalogen.</p><p><b>kopiere</b>- kopiering av en eller flere filer;</p><p><b>del</b>- slette en eller flere filer;</p><p><b>bevege seg</b>- flytte en eller flere filer eller kataloger;</p><p><b>endre navn</b>(forkortet <b>ren</b>) - gi nytt navn til en eller flere filer eller kataloger;</p><p><b>xcopy</b>- kopiering av underkatalogtreet;</p><p><b>mkdir</b>(forkortet <b>md</b>) - opprette en katalog;</p><p><b>rmdir</b>(forkortet <b>rd</b>) - sletting av en katalog.</p><p>En av de generelle reglene for MS-DOS kommandosyntaks er at når du spesifiserer parametere, spesifiseres kilden først, og deretter resultatet. For eksempel hvis vi ønsker å flytte en fil <b>beer.txt</b> fra katalogen <b>eske</b> til katalogen <b>bord</b>, må vi skrive inn kommandoen gitt i følgende liste.</p><p>flytte boks\øl.txt-tabell</p><p>Først hva du skal flytte, så hvor du skal flytte.</p><p>Hvis vi ønsker å gi nytt navn til filen <b>lena.txt</b>å lagre <b>natasha.txt</b>, så skal kommandoen skrives som vist nedenfor.</p><p>ren lena.txt natasha.txt</p><p>Først hva du skal gi nytt navn, så hva du skal gi nytt navn.</p><p><b>Gjeldende katalog. Absolutte og relative veier</b></p><p>Når du arbeider med filkommandoer, blir konseptet med gjeldende katalog ekstremt viktig. Poenget er at når vi spesifiserer en fil som en kommandoparameter, bruker vi alltid en av to mulige måter å peke på dem: enten en absolutt bane eller en relativ bane. I hele banen indikerer vi alt fra stasjonen (eller <a href="https://rustrackers.ru/no/questions/kak-cherez-router-zadat-setevoi-papke-imya-chto-takoe-wi-fi-set-i-kak-e/">nettverksnavn</a> datamaskin), for eksempel <b>d:\misha\box\beer.txt</b>. Uansett hvilken katalog som tilfeldigvis er gjeldende når kommandoen skrives inn, vil hele banen tilsvare den samme filen. Til <a href="https://rustrackers.ru/no/useful/kak-pisat-bat-faily-kak-sdelat-fail-bat-tekushchii-katalog/">relativ vei</a> den gjeldende katalogen fungerer som utgangspunkt. Det enkleste tilfellet av en relativ bane er et filnavn. I sammenheng med kommandoutførelse betyr det en fil med det navnet som ligger i gjeldende katalog.</p><p>For å skrive en relativ bane til gjeldende katalog er det <a href="https://rustrackers.ru/no/education-and-science/razbiraem-i-napolnyaem-fail-index-php-wordpress-dobavlyaem-proizvolnye/">betinget notasjon</a> <b>. </b>(punktum). For å registrere den relative banen til katalogen som inneholder gjeldende katalog, er det en betinget notasjon <b>.. </b>(to prikker). Kommandoen vist i følgende liste kopierer alle filer fra gjeldende katalog til katalogen <b>nabo</b>, som ligger ved siden av.</p><p>kopi *.* .\nabo</p><p><b>Batch-filer</b></p><p>Inntil nå, når vi ga eksempler, antok vi at vi skrev inn kommandoer manuelt hver gang. Når du behandler et stort antall filer eller systematisk utfører de samme kommandoene, blir dette tungvint. Derfor gir kommandoprosessoren muligheten til å utføre <a href="https://rustrackers.ru/no/internet-and-connectivity/pereimenovanie-faila-v-komandnoi-stroke-gruppovoe/">batch-filer</a>. En batchfil er en tekstfil der kommandoer (eller minst én kommando) er skrevet inn. Et eksempel på batchfil vises i følgende liste. Prøv å gjette hva denne batchfilen gjør.</p><p>hjelp kopi > copy.help</p><p>hjelp flytte > flytte.hjelp</p><p>flytte *.help msdos-help</p><p>Hvis formålet med denne filen forblir et mysterium for deg, prøv å faktisk opprette og utføre den. Det er vanlig å gi kommandofiler utvidelsen <b>flaggermus</b>. Dette er hvordan filer av denne typen gjenkjennes av kommandoprosessoren. Denne filen kan for eksempel kalles <b>make-help.bat</b>.</p><p>Slik kjører du batchfilen:</p><ol><p>Skriv inn navnet hans som en kommando. Etter dette vil batchfilen kjøres.</p> </ol><p>I en batch-fil tar hver kommando opp én linje. Mer presist er det en måte å plassere en kommando på flere påfølgende linjer; for å gjøre dette, umiddelbart før hvert linjeskift bør du sette "cap"-symbolet <b>^ </b>. (Hver cap må være det siste tegnet på linjen, det må ikke være mellomrom eller tabulatorer etter det.) Et eksempel på en slik kommando er vist i følgende liste.</p><p>hvis det finnes disser.txt ^</p><p>kopier disser.txt ^</p><p>d:\vitenskap\papirer\utkast\kilder</p><p>Men for enkelhets skyld, for ikke å ta forbehold hver gang, vil vi anta at dette på en måte er en lang "logisk" linje.</p><p>Når en batchfil utføres, skanner kommandoprosessoren den fra topp til bunn fra første linje til siste og utfører kommandoene i den rekkefølgen den møter dem. Den utfører dem generelt som om vi skrev inn hver av dem manuelt. Generelt fordi noen kommandoer oppfører seg litt annerledes når de legges inn manuelt og når de utføres fra en batchfil.</p><p>Når vi ser fremover, la oss si at om nødvendig kan sekvensen av kommandoutførelse endres ved hjelp av kontrollkommandoer (hva som kan forårsake et slikt behov er et eget spørsmål).</p><p>Ikke forveksle gjeldende katalog med katalogen der batchfilen som skal startes, ligger. La oss anta at gjeldende katalog er <b>arbeid</b>, inneholder den en katalog <b>verktøy</b>, og verktøykatalogen lagrer batchfiler. Du kjører en av dem med kommandoen <b>tools\collect-images.bat</b>. Så, "fra synspunktet" til denne kommandofilen, vil den gjeldende katalogen fortsatt være det <b>arbeid</b>, men ikke <b>verktøy</b>.</p><p><b>Kommenter batchfilen og dens utdata. ekko og rem kommandoer</b></p><p>En batchfil er egentlig et program skrevet i operativsystemets kommandoprosessorspråk. Teksten til programmet bør være utstyrt med kommentarer, slik at du, når du kommer tilbake til det en tid senere, ikke trenger å smertefullt huske hvorfor dette programmet er nødvendig og hvordan det fungerer.</p><p>MS-DOS-kommandosystemet gir en kommando for å lage kommentarer: <b>rem</b>. Dette er en dummy-kommando som ikke innebærer å utføre noen handlinger, men lar deg skrive vilkårlig tekst på linjen etter navnet ditt. Dessuten oppfatter ikke kommandoprosessoren det som en syntaksfeil. Et eksempel på formatering av en kommandofil med kommentarer er vist i følgende liste.</p><p>rem ************************************************** ****</p><p>rem Genererer hjelpefiler</p><p>hjelp kopi > copy.help</p><p>hjelp flytte > flytte.hjelp</p><p>flytte *.help msdos-help</p><p>Følg med på <a href="https://rustrackers.ru/no/useful-on-windows-10/v-eksele-kak-vstavit-dopolnit-yacheiku-dobavlenie-ranee-skopirovannyh-strok/">tomme linjer</a>, som kommandofilen er delt inn i "avsnitt". Dette enkle trikset lar deg gjøre batchfilen mer lesbar.</p><p>Når du utfører batchfilen ovenfor, vil alle kommandoer vises på skjermen etter hvert som de utføres, noe som ikke alltid er praktisk. Kommandoutstedelse kan deaktiveres ved hjelp av kommandoen <b>@ekko av</b>. "hund"-symbolet foran kommandoen <b>ekko</b> Dette betyr at selve kommandoen må utføres i "stille" modus. Vi kan like gjerne ikke bruke kommandolinjen <b>ekko av</b>, men plasser en "hund" foran hver kommando.</p><p>I mange tilfeller vil du at en batchfil skal vise bestemte meldinger på skjermen (eller i en fil). I noen tilfeller kan dette være feilmeldinger, i andre informasjonsmeldinger som forklarer brukeren av batchfilen hva som skjer for øyeblikket når vi lager en annen nyttig fil med batchfilen. Den samme ekkokommandoen brukes til å vise meldinger. Teksten til meldingen som skal vises, sendes til den som en parameter. Listen over den forbedrede batchfilen er gitt nedenfor.</p><p>rem ************************************************** ****</p><p>rem Genererer hjelpefiler for kopierings- og flyttkommandoene</p><p>rem ************************************************** ****</p><p>@echo Genererer hjelpefiler. Ett sekund...</p><p>rem Genererer hjelpefiler</p><p>hjelp kopi > copy.help</p><p>hjelp flytte > flytte.hjelp</p><p>rem Opprett en katalog for å lagre hjelpefiler</p><p>rem Flytt hjelpefilene til den forberedte katalogen</p><p>flytte *.help msdos-help</p><p>ekko Ferdig!</p><p><b>Sende parametere til en kommandofil</b></p><p>La oss si at vi ønsker å lage en batch-fil som først genererer hjelp til å beskrive en brukerspesifisert kommando, og deretter laster den inn i Notisblokk for visning. Trikset er å på en eller annen måte fortelle det neste gang vi kjører batchfilen hvilken kommando vi er interessert i denne gangen.</p><p>For å løse dette problemet er det gitt en parameterbehandlingsmekanisme. Det fungerer ganske enkelt. Hvis brukeren spesifiserte flere parametere ved kjøring av en batchfil, angir vi i teksten til batchfilen den første av dem med oppføringen <b>%1 </b>, andre oppføring <b>%2 </b>, tredje oppføring <b>%3 </b> etc. Vi bruker disse notasjonene i teksten til kommandofilen på omtrent samme måte som vi bruker pronomen i naturlig tale.</p><p>Teksten til kommandofilen som løser problemet vises i følgende liste. Vær oppmerksom på kommandoen <b>hjelp</b>. Den første parameteren i kommandofilen sendes til den som dens parameter.</p><p>rem Vi lager en fil med en beskrivelse av kommandoen,</p><p>rem hvis navn sendes som en parameter</p><p>hjelp %1 > hjelp.tmp</p><p>rem Last beskrivelsesfilen inn i Notisblokkredigeringsprogrammet</p><p>notatblokkhjelp.tmp</p><p>La oss anta at vi gir denne batchfilen navnet <b>show-help.bat</b>. For å laste inn en kommandobeskrivelse i en notisblokk, for eksempel, <b>dir</b>, må vi skrive inn kommandoen som følger.</p><p>show-help.bat dir</p><p>Følgende kommandofil oppretter en katalog med navnet spesifisert i den første parameteren og skriver inn en fil som inneholder teksten som beskriver kommandoen spesifisert i den andre parameteren.</p><p>rem Eksempel på en kommandofil med to parametere</p><p>rem Opprett en katalog med navnet spesifisert av den første parameteren</p><p>rem Opprett en fil i den med en beskrivelse av kommandoen,</p><p>rem spesifisert av den andre parameteren</p><p>hjelp %2 > %1\%2.help</p><p>Hva skjer hvis brukeren spesifiserer fire parametere i stedet for to når denne kjører denne batchfilen? Det er greit, de vil ikke forstyrre noe, de vil bare ikke bli brukt. Hva skjer hvis brukeren spesifiserer kun den første parameteren? Den andre parameteren vil være tom. Effekten vil være denne: batchfilen vil bli utført, men som i stedet for opptaket <b>%2 </b> det er ingenting. Help-kommandoen vil generere en liste over alle kommandoer og plassere den i en fil med et tomt navn og filtypen .help. Hvis brukeren kjører denne filen uten å spesifisere noen parametere, så når kommandoprosessoren prøver å utføre kommandoen <b>md</b>(husk at dette er for å lage en katalog), vil vi få en syntaksfeil fordi md-kommandoen må ha en parameter.</p><p>Bruk av parametere skaper dermed store muligheter, men kan komplisere saken betydelig. For at batchfilen alltid skal fungere riktig, er det nødvendig å kontrollere riktigheten av brukerens spesifiserte parametere og på en eller annen måte svare på ufullstendige eller feil inndata. Du kan selvfølgelig ikke gjøre dette, men en batchfil som ikke fungerer korrekt, kan forårsake problemer, spesielt hvis den involverer sletting eller overskriving av data.</p><p><b>Variabler. angi kommando</b></p><p>En variabel er en navngitt verdi. I programmeringslærebøker sammenlignes vanligvis en variabel med en konvolutt med et navn skrevet på. Du kan legge noe i konvolutten, for eksempel en viss sum penger - dette er verdien. Som med konvolutten, kan verdien av variabelen endres.</p><p>For å erklære en variabel og samtidig tilordne en verdi til den, bruk kommandoen <b>sett</b>. Et eksempel på denne kommandoen er vist i følgende liste.</p><p>For å trekke ut verdien av en variabel plasseres navnet mellom to prosenttegn, som vist nedenfor.</p><p>rem kompilator av hjelpefiler i CHM-format</p><p>set help_compiler=c:\HTML Help Workshop\hcc.exe</p><p>rem Prosjekthjelpefil for "Warehouse"-modulen</p><p>set store_hpj=hjelp\kilder\butikk\butikk.hpj</p><p>rem Project hjelpefil for "Salg"-modulen</p><p>set sales_hpj=help\sources\sales\sales.hpj</p><p>rem Kompiler hjelpefiler</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 lar de deg bruke et kort fragment som er synonymt med det i en batchfil i stedet for et langt fragment (for eksempel banen til hjelpefilkompilatoren). Det er i hvert fall praktisk.</p><p>For det andre lar de deg unngå repetisjon i teksten til kommandofilen av fragmenter som kan endre seg i fremtiden. Tenk deg at vi installerte Microsoft HTML Workshop på nytt til en annen katalog. Hvis en variabel brukes i en batchfil for å registrere banen til den, vil det være nok å korrigere bare én linje i batchfilen, nemlig den som verdien til variabelen er tildelt <b>help_compiler</b>. Hvis vi skrev banen til kompilatoren hver gang den måtte kalles, ville vi etter å ha endret banen måtte korrigere hver slik linje. I eksemplet ovenfor er det to av dem, men i et ekte prosjekt kan det like gjerne være fem eller femten av dem, avhengig av antall hjelpefiler vi ønsker å kompilere. Problemet er ikke at det er vanskelig å manuelt korrigere hver linje (tross alt har ingen avbrutt kommandoene "kopier" og "lim inn"), men at dette øker sannsynligheten for en utilsiktet feil.</p><p>Batchfilparametere er også variabler, men de skiller seg fra vanlige variabler ved at verdiene deres angis når batchfilen startes. I fremtiden, når vi snakker om variabler, spesielt om å jobbe med deres verdier, vil vi også mene kommandofilparametere, i det minste i fravær av eksplisitte forbehold om dette.</p><p>Når du skriver batchfiler, brukes ofte følgende teknikk: flere variabelverdier er angitt side om side (eller ispedd noen symboler eller linjer), for å oppnå en ny meningsfull verdi. Et eksempel er vist i følgende liste.</p><p><b>Sjekke forhold og velge alternativer. if og goto-kommandoer</b></p><p>If-kommandoen lar deg velge grupper av kommandoer i en batchfil som utføres eller ikke utføres avhengig av visse forhold. Hva er den til?</p><p>Tilstandskontroll er nesten et nødvendig trinn når du lager batchfiler som bruker parametere. Før du starter arbeidet, må batchfilen generelt sørge for at riktig sett med parametere sendes til den. Ellers er det stor risiko for at det blir utført feil eller uten resultater, og brukeren vil bare lure på hva problemet er. Dessuten, hvis en batchfil sletter, flytter eller overskriver data, kan den til og med forårsake skade hvis parametrene er feil.</p><p>Følgende liste viser kommandofilen for kompilering av hjelpefilen som du allerede er kjent med. En sjekk for at den første parameteren ikke er tom, er lagt til i begynnelsen av kommandofilen. Vær oppmerksom på denne syntaksfunksjonen: sammenligningsoperasjonen bruker et dobbelt likhetstegn. Hvis den første parameteren ikke er tom, utføres goto-kommandoen, som "kaster" skallet til den angitte etiketten. I dette tilfellet er navnet på denne etiketten kompilert. Legg merke til at der en etikett vises, er navnet innledet av et kolon, men i goto-kommandoen er det ikke det. Hvis den første parameteren er tom, går kommandoprosessoren til <a href="https://rustrackers.ru/no/tips/gde-naiti-otstup-krasnoi-stroki-v-vorde-chtoby-sdelat-krasnuyu-stroku/">neste linje</a> som gir en feilmelding. Og så til den neste, som overfører den helt til slutten av filen til en etikett med navnet <b>bli ferdig</b>.</p><p>hvis ikke "%1"=="" må du kompilere</p><p>rem Hvis parameteren er tom, viser vi en feilmelding</p><p>echo hjelpefil prosjektnavn ikke spesifisert</p><p>rem og gå til slutten av batchfilen</p><p>rem til sluttmerket</p><p>rem Dette er en etikett som heter compile</p><p>rem Nedenfor er kompileringskommandoene</p><p>rem Sti til hjelpefilkompilatoren</p><p>set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"</p><p>rem Banen til katalogen der hjelpefilprosjektene er plassert</p><p>set project_path=e:\arbeid\prosjekter\hjelpeprosjekter</p><p>rem Ring kompilatoren for å behandle et spesifikt prosjekt,</p><p>rem hvis navn sendes i den første parameteren</p><p>%help_compiler% %project_path%\%1.hpj</p><p>rem Dette er en etikett som heter finish</p><p>La oss innse det, den foreslåtte metoden for å sjekke en parameter er ikke den mest vellykkede.</p><p>For det første, hvis brukeren feilaktig spesifiserer et navn som en parameter <a href="https://rustrackers.ru/no/network-and-internet/effektivnaya-konsol-komanda-setlocal---izmenenie-peremennyh-sredy-dlya/">eksisterende fil</a>, vil batchfilen være fornøyd med dette og forsøke å kompilere. En mer korrekt måte er å sjekke om en slik fil faktisk eksisterer. For dette formålet gir MS-DOS-kommandospråket et spesielt ord <b>eksistere</b>. Derfor er det bedre å skrive: <b>hvis det finnes %1.hpj må du kompilere</b>.</p><p>For det andre aktiv bruk av kommandoen <b>gå til</b>(det såkalte ubetingede hoppet) og etiketter forvirrer koden kraftig. Teknisk sett er de ikke dårlige, men å feilsøke og vedlikeholde en batchfil skrevet i denne stilen er ganske upraktisk. Derfor har programmerere lenge vurdert ubetinget hopp som en uønsket teknikk. Nedenfor vises en mer korrekt, fra et synspunkt av programmeringsstil, strukturert versjon, som bruker konstruksjonen <b>hvis ... annet</b>. Det fungerer slik: hvis betingelsen er sann, kommandoene i parentes etter <b>hvis</b>, og hvis falsk, så i parentes etter <b>ellers</b>.</p><p>rem Sjekk om parameteren er satt</p><p>hvis ikke finnes %1.hpj (</p><p>rem Sti til hjelpefilkompilatoren</p><p>set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"</p><p>rem Banen til katalogen der hjelpefilprosjektene er plassert</p><p>set project_path=e:\arbeid\prosjekter\hjelpeprosjekter</p><p>rem Ring kompilatoren for å behandle et spesifikt prosjekt,</p><p>%help_compiler% %project_path%\%1.hpj</p><p>La oss gi et annet eksempel på arbeid med sjekker. Følgende batchfil oppretter en katalog kalt <b>hjelpe-filer</b>(anta, for å laste opp kompilerte hjelpefiler til den). Dessuten, hvis en katalog med samme navn allerede eksisterer (og den inneholder sannsynligvis gamle hjelpefiler som du ikke vil miste: hva om de nye viser seg å være verre?), tilordner batchfilen bak-utvidelsen til den . Men hvis katalogen <b>hjelpe-filer.bak</b> allerede eksisterte, så sletter batchfilen den (vi vil anta at en sikkerhetskopi er nok for oss).</p><p>hvis det finnes help-files.bak rd help-files.bak</p><p>hvis det finnes hjelpe-filer ren hjelpe-filer hjelpe-filer.bak</p><p><b>Massefilbehandling. for kommando</b></p><p>For-kommandoen lar deg organisere utførelsen av gjentatte handlinger av samme type. Du kan bruke den til å vise tallene én til ti, som vist i følgende liste.</p><p>for /l %%i i (1,1,10) gjør ekko %%i</p><p>Variabel <b>Jeg</b> kalt loopteller. På grunn av den unike syntaksen til kommandoen <b>til</b>, må navnet på looptelleren bestå av én bokstav. Dessuten, hvis vi skriver en batchfil, må vi sette et dobbelt prosenttegn foran navnet på looptelleren, men hvis vi bare skriver en kommando på kommandolinjen, så en enkelt.</p><p>Logikken til denne kommandoen er som følger. Etter ordet <b>i</b> området for endring av syklustelleren er indikert. I <a href="https://rustrackers.ru/no/mobile-device/pereustanovka-windows-bez-poteri-dannyh-neskolko-variantov/">dette alternativet</a> kommandoer er en trippel av tall: startverdien til telleren, telletrinnet, grenseverdien til telleren. Når du utfører en kommando, vil skallet først tildele variabelen <b>Jeg</b> betydning <b>1 </b>, og deretter ved hvert trinn i løkken vil den øke den med <b>1 </b> til det overskrider <b>10 </b>. Det vil åpenbart være ti slike trinn. Hvis vi spesifiserte et tall som telletrinn <b>2 </b>, så vil loopen bli utført fem ganger. Ved hvert trinn i løkken utføres hoveddelen av løkken skrevet etter ordet <b>gjøre</b>. I eksemplet ovenfor er dette ekko-kommandoen, som viser gjeldende verdi av looptelleren.</p><p>Du kan sikkert tenke deg en situasjon der noe slikt faktisk er nødvendig, men vanligvis kommandoen <b>til</b> brukes til å iterere og behandle filer. Det må sies at i ganske enkle tilfeller utføres bulkfilbehandling ved hjelp av jokertegn. Hvis vi ønsker å erstatte alle filer i gjeldende katalog med utvidelsen <b>.htm</b> på <b>.html</b>, legger vi inn kommandoen <b>ren *.htm *.html</b>. Men hvis det samme må gjøres ikke i én katalog, men i et katalogtre, kan du ikke klare deg uten for-kommandoen. Følgende batchfil utfører denne operasjonen for alle htm-filer i underkatalogen til den gjeldende katalogen. Mer presist, i hele katalogtreet som er inni <b>nettsted</b>.</p><p>for /r nettsted %%i i (*.htm) gjør ren %%i %%~ni.html</p><p>Nøkkel <b>/r</b> indikerer behovet for å gå gjennom katalogen <b>nettsted</b> og alt dets innside. Hvis du ikke spesifiserer det (men da har du ikke lov til å spesifisere en katalog), vil kun filer i gjeldende katalog bli behandlet. Utvalget av looptellerverdier i denne kommandovarianten er settet med alle filer med utvidelsen <b>.htm</b>, plassert inne i en katalog (mer presist, et tre) <b>nettsted</b>. En merkelig oppføring ved første øyekast <b>~ni</b> betyr at fra verdien av variabelen <b>Jeg</b> Du trenger bare å velge filnavnet. MS-DOS-kommandospråket gir flere slike modifikatorer, for eksempel skriving <b>~xi</b> angir filtypen. Alle modifikatorer er beskrevet i kommandohjelpen <b>til</b>.</p><p>Brødteksten til en løkke kan bestå av flere kommandoer i parentes.</p><p>for /r nettsted %%i i (*.htm) do (</p><p>rem Skriv ut filnavnet</p><p>re Gi nytt navn til filen</p><p>ren %%i %%~ni.html</p><p><b>Overfører kontroll til en annen batchfil. ringe kommando</b></p><p>Det er mulig å kalle en annen batchfil fra en batchfil. Kommandoen for dette er <b>anrop</b>. Flott, variablene spesifisert i den kallende batchfilen er "synlige" for den som kalles. Og omvendt, etter at den oppringte filen er ferdig med arbeidet og returnerer kontrollen til den som ringer, vil sistnevnte "se" variablene som er overlatt til den av den kalte "arv". Dette lar batchfilutvikleren gjøre noe som dette: Hvis flere kommandofiler må bruke de samme verdiene, for eksempel stier til noen filer, kan de plasseres i en egen kommandofil, som vil spille rollen som en konfigurasjonsfil. Hver fungerende kommandofil vil begynne med et kall til konfigurasjonsfilen. Fordelen er at når du endrer stier, trenger du bare å gjøre endringer i én konfigurasjonsfil, og ikke til mange arbeidere.</p><p>"Konfigurasjon" batchfil <b>config.bat</b>.</p><p>rem Sti til hjelpefilkompilatoren</p><p>set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"</p><p>rem Banen til katalogen der hjelpefilprosjektene er plassert</p><p>set project_path=e:\arbeid\prosjekter\hjelpeprosjekter</p><p>"Fungerer" batchfil.</p><p>rem Sette opp variabler</p><p>rem Sjekk om parameteren er satt</p><p>hvis ikke finnes %1.hpj (</p><p>rem Hvis parameteren er tom, viser vi en feilmelding</p><p>echo Dette hjelpefilprosjektet eksisterer ikke.</p><p>rem Nedenfor er kompileringskommandoene</p><p>rem Ring kompilatoren for å behandle et spesifikt prosjekt,</p><p>rem hvis navn sendes i den første parameteren</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/no/category/internet/">Internett</a> </li> <li> <a href="https://rustrackers.ru/no/category/windows-10/">Windows 10</a> </li> <li> <a href="https://rustrackers.ru/no/category/multimedia/">Multimedia</a> </li> <li> <a href="https://rustrackers.ru/no/category/utilities/">Verktøy</a> </li> <li> <a href="https://rustrackers.ru/no/category/network-and-internet/">Nettverk og Internett</a> </li> <li> <a href="https://rustrackers.ru/no/category/system-programs/">System programmer</a> </li> <li> <a href="https://rustrackers.ru/no/category/configuring-programs/">Sette opp programmer</a> </li> <li> <a href="https://rustrackers.ru/no/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 for din PC</p> </div> </div> </footer> <div id="back-top" class="back-top bounce-out"> <a href="#" title="Topp"></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>