Hvordan åpne et arkiv med en bat-fil. Hvordan åpne BAT? Opprette en batch-fil ved hjelp av Dr. Batcher"

Med denne artikkelen fortsetter vi vår serie med materialer om kommandolinjen. I denne artikkelen lærer du hvordan du oppretter en BAT-fil og hvordan du bruker den.

En BAT-fil (også kjent som en batch-fil eller batch-fil) er Tekstdokument med forlengelse. BAT som inneholder kommandoene som må utføres ved hjelp av kommandolinje. Når du kjører en slik fil, startes et CMD-program som leser kommandoer fra denne filen og utfører dem konsekvent.

Ved å bruke BAT-filer kan du automatisere mange prosesser. For eksempel, ved å bruke en BAT-fil kan du starte programmer backup filer, dataarkivering og mye mer.

Lag en BAT-fil

Det er veldig enkelt å lage en BAT-fil. For å gjøre dette, bare kjør enkelt tekstredigerer, for eksempel "Notepad", skriv inn kommandoene og lagre med BAT-utvidelsen.

Alt etter dette vil en BAT-fil vises i mappen som vi spesifiserte da filen ble lagret. For å starte den, dobbeltklikk på den med musen.

Du kan også kjøre BAT-filen fra kommandolinjen. For å gjøre dette, skriv bare inn adressen hans.

Hvis du vil fortsette å redigere BAT-filen, for eksempel legge til nye kommandoer til den, må du åpne BAT-filen igjen ved hjelp av et tekstredigeringsprogram. Dette kan enkelt gjøres ved å bruke kontekstmenyen.

Høyreklikk på BAT-filen og velg "Rediger". Etter dette vil Notisblokk-editoren starte, der du kan redigere BAT-filen din.

Bruk GUI i operativsystemer i dag ser ut til å være noe tatt for gitt og helt naturlig, men dette var ikke alltid tilfelle. Det første operativsystemet, MS DOS, utviklet av Microsoft, hadde ikke en GUI, og ble kontrollert ved å skrive inn tekstkommandoer. Nesten 40 år har gått siden den gang, men kommandolinjens skriptspråk er fortsatt populært, og ikke bare blant utviklere.

Kommandolinjen er ikke så praktisk, men med dens hjelp kan du utføre operasjoner som ikke er mulig fra GUI. På den annen side, å starte konsollen hver gang, legge inn kommandoer i den etter hverandre - alt dette bremser arbeidet betydelig. Du kan imidlertid forenkle oppgaven betydelig ved å lage en bat-fil eller bare en batch-fil - tekstfil med BAT-utvidelsen, som inneholder en liste over instruksjoner behandlet av CMD-kommandotolken. Slike filer brukes til å automatisere ulike oppgaver, for eksempel for å slette midlertidige filer etter en tidsplan eller starte programmer.

Hvordan lage en fil med en BAT-utvidelse

Så, hvordan lage en bat-fil i Windows 7/10? Veldig enkelt. For å gjøre dette trenger du hvilken som helst tekstredigerer og kunnskap om det grunnleggende om kommandolinjen. Du kan bruke Notepad, eller enda bedre, Notepad++, siden sistnevnte har syntaksutheving. Opprett en ny fil i editoren, velg "Lagre som" fra "Fil"-menyen, gi det fremtidige skriptet et navn, og velg "Batch-fil (*bat; *cmd; *nt)" i "Filtype"-rullelisten -ned listen.

Hvis du vil bruke Notisblokk til å lage en bat-fil, må du tilordne utvidelsen manuelt og velge "Alle filer" i "Filtype"-listen.

Som du kan se, er det ikke vanskelig å lage en fil med bat-utvidelsen, men det er noen finesser her. Linjeskift kan ikke brukes i kommandofiler; kodingen av bat-filen må settes til UTF-8; hvis brødteksten i skriptet bruker kyrillisk, må kodingen endres ved å sette inn chcp 1251-kommandoen på riktig sted.

I stedet for BAT-utvidelsen kan du bruke CMD, resultatet av å kjøre skriptet vil være nøyaktig det samme.

Grunnleggende kommandoer, syntaks og eksempler på bruk av batchfiler

Du vet hvordan du lager en bat-fil, nå er det tid for den mest interessante delen, nemlig syntaksen til CMD-tolkespråket. Det er klart at en tom batchfil ikke vil fungere, den vil ikke engang starte når du dobbeltklikker på den. For at skriptet skal fungere, må minst én kommando være skrevet i det. For et visuelt eksempel, la oss se hvordan du skriver en bat-fil for å starte programmer. La oss si at når du begynner å jobbe, starter du tre programmer hver gang – Chrome, Firefox og VLC. La oss forenkle oppgaven ved å lage et skript som vil starte disse programmene selv med intervaller på fem sekunder.

Åpne en tom batchfil og lim inn følgende kommandoer:

Start "" "C:/Program Files/Google/Chrome/Application/chrome.exe" timeout /t 05 start "" "C:/Program Files/Mozilla Firefox/firefox.exe" timeout /t 05 start "" "C :/Program Files/VideoLAN/VLC/vlc.exe"

Team start kjører den kjørbare filen ønsket program, og teamet timeout/t angir intervallet mellom starter. Vær oppmerksom på plasseringen av sitatene - de inneholder stier som inneholder mellomrom. Dessuten, hvis det er kyrilliske tegn i banen, bør du sette inn en kommando som endrer kodingen i begynnelsen av skriptet chcp 1251, ellers vil ikke tolken kunne lese banen riktig.

Når du kjører skriptet, vil fire konsollvinduer åpnes sekvensielt; dette er normalt; etter å ha utført kommandoene vil de alle lukkes automatisk, men du kan sørge for at bare det første vinduet åpnes. For å gjøre dette, bør programstartkoden endres som følger:

Start /b "" "bane"

Det kan også skje at i bestemt øyeblikk det vil være nødvendig å pause utførelsen av skriptet slik at brukeren kan bestemme om de skal utføre alle andre kommandoer eller ikke. Det er en kommando for dette pause. Prøv å erstatte timeout med den og se hva som skjer.

Start /b "" "bane" pause

La oss se på et annet eksempel på kommandoer for en bat-fil. La oss skrive et skript som vil slå av datamaskinen i ett tilfelle, og starte den på nytt i et annet. For disse formålene vil vi bruke kommandoen skru av med parametere /s, /r Og /t. Hvis du ønsker det, kan du legge til en forespørsel om å utføre en handling i kroppsfilen din, slik:

@echo off chcp 1251 echo "Er du sikker på at du vil slå av datamaskinen?" pause avstenging /s /t 0

La oss forklare. Den første kommandoen skjuler teksten til selve kommandoene, den andre - setter den kyrilliske kodingen, den tredje - viser en melding for brukeren, den fjerde - setter en pause, den femte - slår seg av og med tasten /r i stedet for /s starter datamaskinen på nytt uten den tradisjonelle forsinkelsen på ett minutt. Hvis du ikke vil stå på seremonien med forespørsler og pauser, kan du bare legge igjen den femte kommandoen.

Hvis du ser kryakozyabra i stedet for russisk tekst når du utfører kommandoen, prøv å konvertere skriptfilen til ANSI.

Hva annet kan du gjøre med skript? Mange ting, for eksempel sletting, kopiering eller flytting av filer. La oss si at du har en bestemt datamappe i roten til stasjon D, hvis innhold må tømmes med en gang. Åpne batchfilen og lim inn følgende kommando i den:

Del /A /F /Q "D:/data"

Eller du kan gjøre dette:

Forfiler /p "D:/data" /s /m *.* /c "cmd /c Del @path"

I motsetning til den første, sletter den andre kommandoen filer rekursivt, det vil si at alle filene i datamappen slettes pluss de som ligger i underkataloger.

Og her er en til nyttig eksempel. La oss skrive et skript som vil lage sikkerhetskopi innholdet i en mappe og lagre dataene til en annen. Kommandoen er ansvarlig for kopiering robokopi:

Robocopy C:/data D:/backup /e pause

Ved å kjøre en slik batchfil for kjøring vil du kopiere hele innholdet i datamappen til backupmappen, inkludert underkataloger, tomme og med filer. Forresten, robocopy-kommandoen har mange parametere som lar deg konfigurere kopiparametere veldig fleksibelt.

Kjør bat-filer som administrator og etter en tidsplan, skjult flaggermus-lansering

Nå vet du hvordan du lager batchfiler og har en viss generell forståelse av CMD-tolkespråket. Dette var det grunnleggende, nå er det på tide å bli kjent med noen nyttige funksjoner for å jobbe med bat-filer. Det er kjent at programmer krever administratorrettigheter for å utføre enkelte handlinger. Batniks kan også trenge dem. Den mest åpenbare måten å kjøre et skript på som administrator er å høyreklikke på det og velge riktig alternativ fra hurtigmenyen.

I tillegg kan du sørge for at en spesifikk batchfil alltid vil bli lansert med forhøyede rettigheter. For å gjøre dette, må du opprette en vanlig snarvei til et slikt skript, åpne egenskapene, klikk på "Avansert" -knappen og merk av for "Kjør som administrator" i vinduet som åpnes. Denne metoden er også bra fordi den lar deg velge hvilket som helst ikon for snarveien, mens en fil med en BAT- eller CMD-utvidelse alltid vil ha et ubestemmelig utseende.

Skript, som alle applikasjoner, kan startes etter en tidsplan. Team timeout/t er ikke helt hensiktsmessig her; for forsinket lansering er det best å bruke den innebygde Windows Task Scheduler. Alt er enkelt her. Åpne med kommandoen taskschd.msc Planlegger, avgjør utløseren, velg handlingen "Kjør program" og spesifiser banen til bat-filen. Det er alt, skriptet vil bli lansert til det planlagte tidspunktet.

Og til slutt, enda et interessant poeng. Når du kjører en bat-fil, vises et kommandolinjevindu på skjermen, selv om det bare er en brøkdel av et sekund. Er det mulig å få skriptet til å kjøre i skjult modus? Det er mulig, og på flere måter. Den enkleste er som følger. Lag en snarvei for bat-filen, åpne egenskapene og velg "Skjult til ikon" fra "Vindu"-menyen. Etter dette vil det eneste synlige tegnet på at skriptet kjører være utseendet til CMD-ikonet på oppgavelinjen, men ingen vinduer åpnes.

Hvis du vil skjule utførelsen av skriptet fullstendig, kan du bruke en "krykke" - VBS-skriptet, som vil starte batchfilen din i skjult modus. Skriptteksten er nedenfor, lagre den i en fil skjult.vbs, etter å ha erstattet banen i den andre kodelinjen D:/script.bat banen til kroppsfilen din.

Sett WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "D:\script.bat" & Chr(34), 0 Sett WshShell = Ingenting

Det finnes også andre alternativer, for eksempel å bruke verktøyet Skjult start, som lar deg kjøre kjørbare filer og batchfiler i skjult modus, inkludert uten invitasjon.

Og det var alt for nå. Informasjon om å lage BAT-skript kan enkelt finnes på Internett. Det er også en god idé å sjekke William Staneks «Command Line»-opplæring. Microsoft Windows" Til tross for at det har gått mer enn ti år siden utgivelsen av boken, er informasjonen i den fortsatt relevant.

En bat-fil er en tekstfil i operativsystemer Windows-familien, som inneholder en sekvens av systemkommandoer som skal utføres av kommandotolken "cmd.exe". Generelt er det en skriptfil. Etter å ha startet bat-filen, leser kommandotolken innholdet linje for linje og utfører sekvensielt de mottatte kommandoene. I dag skal vi se på hvordan du kan lage en bat-fil, og også bli kjent med programmer for å lage og redigere disse filene.

Hensikten med flaggermusfiler

Filer med bat-utvidelsen er designet for å automatisere mange rutineoppgaver på operasjonssalen Windows-system. De vil være svært nyttige i tilfeller der det er nødvendig å utføre en operasjon eller sekvens av operasjoner et stort antall ganger på rad eller periodisk gjenta en viss algoritme. For det første handler dette om å jobbe med filsystem(opprette et stort antall kataloger, spesielt gjensidig nestede, masseomdøping av filer). , Du kan finne ut ved å klikke på lenken ovenfor.

Opprette en bat-fil

Enhver bruker kan lage en tekstkommandofil - det er absolutt ingenting komplisert her. For å gjøre dette trenger du bare en tekstredigerer (funksjonaliteten til en standard notisblokk vil være ganske tilstrekkelig).

Første metode

  1. Opprett et nytt tekstdokument i en hvilken som helst katalog.

For å utføre denne handlingen, åpne kontekstmenyen til katalogplassen som er fri for mapper og filer og velg "Opprett". I rullegardinlisten klikker du på elementet "Tekstfil".

  1. Skriv inn navnet på det opprettede dokumentet og klikk "Enter".
  2. Åpne den opprettede filen ved å dobbeltklikke med musen.

  1. La oss legge inn noen enkle kommandoer for å sjekke funksjonaliteten:

@ ekko Hallo, Jegm flaggermus!

@echo – kommando for å vise tekst på skjermen;

Hei, jeg er bat! - selve teksten;

pause – vent på brukerhandlinger før du lukker vinduet. Etter å ha utført "@echo"-kommandoen, lukkes ikke kommandotolken automatisk, slik at brukeren kan bli kjent med resultatene av dens utførelse (vi vil se den angitte teksten på skjermen).

  1. Hent frem "Fil"-elementet i hovedmenyen for notisblokk og klikk på "Lagre som...".

  1. I dialogboksen som vises, velg filtypen "Alle filer".

  1. Deretter legger du til navnet på dokumentet vårt neste tekst".bat", som til slutt vil resultere i "file.bat".
  2. Klikk på "Lagre"-knappen.

Som et resultat vil et dokument kalt "file.bat" vises i Explorer-vinduet, for å starte som du må dobbeltklikke på det med venstre museknapp eller velge det og trykke "Enter".

Redigering batch-fil utføres ved å velge "Endre"-kommandoen fra kontekstmenyen.

Andre metode

Den andre metoden for å lage bat-filer er nesten lik den første, men vi vil ikke ignorere den.

  1. Vi lanserer Notepad ved å bruke en hvilken som helst kjent metode.
  • Gjennom snarveien i Start-menyen - gå til "Start - Alle programmer - Tilbehør - Notisblokk" i Windows 7 eller "Start - Alle programmer - Tilbehør - Windows - Notisblokk" i senere utgaver av Windows.
  • I søkelinje"Start" / "Windows", skriv inn notisblokk og start programmet ved å klikke på snarveien i resultatlisten.
  • Hent opp vinduet for å utføre systemkommandoer ved å bruke tastekombinasjonen "Win+R", skriv inn "notisblokk" og klikk "OK".
  1. La oss gå videre til punkt nr. 4 i forrige metode.

Redigering av bat-filer ved hjelp av Windows

  1. Høyreklikk på bat-filen og åpne kontekstmenyen.

  1. Fra menyen som vises, velg "Rediger" eller "Rediger".
  2. Innholdet i bat-filen vil vises i vinduet som åpnes med et standard tekstredigeringsprogram, vanligvis Notisblokk.
  3. Vi gjør nødvendige justeringer og lagrer resultatet.

Dr.Batcher – et program for å lage bat-filer og redigere dem

Selv om bruken av bat-filer ikke er så populær blant brukere i dag, er det fortsatt mer effektivt å ty til deres hjelp for å løse mange problemer på en datamaskin. Hvis for en nybegynner som av og til bruker kommandotolken, er funksjonaliteten til notisblokken nok, så for Systemadministrator og en vareznik engasjert i skapelsen Windows bygger eller automatisk installert programvare for det, trenger du et mer avansert og praktisk verktøy for å jobbe med bat-format dokumenter. Det er Dr.Batcher-verktøyet. Grensesnittet og funksjonaliteten til programmet er ikke mye forskjellig fra notatblokker som Notepad++. Hovedmenyen inneholder knapper for ofte brukte kommandoer. Dr.Batcher nummererer sider, støtter bokmerker, inneholder en liste over systemkommandoer for bat-filer og fremhever syntaksen til angitte kommandoer.

Opprette en bat-fil i Dr.Batcher

  1. La oss starte applikasjonen.
  2. Ring "Fil"-elementet i hovedmenyen og klikk "Ny". Det samme gjøres ved å klikke på det tomme arkikonet under "Fil"-menyen.
  3. I dialogboksen velger du "Tøm batchfil".

Et programvindu vil vises på skjermen med alle funksjonene som er nødvendige for å jobbe med bat-filer.

Redigering av bat-filer i Dr.Batcher

Det er flere måter å åpne et bat-format dokument for redigering i Dr.Batcher, som vil bli diskutert videre.

Redigering via kontekstmenyen til en bat-fil

  1. Kall opp kontekstmenyen til bat-formatdokumentet.
  2. I rullegardinlisten velger du "Rediger med Dr.Batcher".

Deretter åpnes et programvindu med innholdet i tekstbatchfilen vår, hvor du kan gjøre justeringer av innholdet.

Redigering av bat-filer ved hjelp av Dr.Batcher

  1. Start Batcher-applikasjonen.
  2. Ring "Fil"-elementet i hovedmenyen.
  3. Velg "Åpne" fra rullegardinmenyen.

Det samme gjøres ved å klikke på mappeikonet som ligger under hovedmenyen.

  1. I filåpningsdialogboksen, spesifiser banen til ønsket bat-format dokument og klikk "Åpne".

Bat-filen vår åpnes i Dr.Batcher-vinduet, og du kan gjøre justeringer i den.

Batch- eller batchfiler er vanlige tekstfiler som inneholder sett med tolkkommandoer og som har bat- eller cmd-utvidelsen (cmd fungerer bare i operativsystemer fra NT-familien). Du kan redigere slike filer ved å bruke notisblokk eller et annet tekstredigeringsprogram.

Åpne notisblokk og skriv inn følgende to linjer:

@echo Denne batchfilen
@pause

Denne batchfilen
Press hvilken som helst tast for å fortsette...

Etter å ha trykket på en hvilken som helst tast, lukkes vinduet, fordi bat-filen er fullført.
Vær oppmerksom på at hundesymbolet foran hver kommando i flaggermusfilen indikerer at selve kommandoen ikke trenger å vises på skjermen, men kun resultatet av operasjonen skal vises. For å eksperimentere, fjern hundekarakteren fra begynnelsen av hver linje, lagre og kjør den resulterende bat-filen.

Kommandoer brukt i bat-filer

Listen over kommandoer som kan brukes i bat-filer kan vises ved å skrive inn kommandoen på kommandolinjen (Start - Kjør - cmd for Windows NT-familien eller Start - Kjør - kommando for 9x-linjen)

Resultatet av hjelpen er en liste over tilgjengelige kommandoer med korte forklaringer for dem. For å få mer detaljert informasjon For kommandoen du er interessert i, skriv inn hjelp kommando_navn på kommandolinjen. For eksempel, for å få detaljert hjelp om AT-kommandobryterne, kjør følgende kommando:

Som et resultat vil en liste over nøkler for å kjøre AT-kommandoen fra bat-filen vises på skjermen.
Hvis bat-filen kjøres under Windows-kontroll(ikke i ren DOS), så kan du kjøre alle applikasjoner eller åpne filer fra den. For eksempel må du automatisk åpne loggfilen til bat-filen når den fullfører arbeidet. For å gjøre dette, inkluderer du bare følgende kommando i bat-filen som siste linje:

start filnavn.txt

Resultatet av å utføre denne kommandoen vil være åpningen av filen file_name.txt, og selve bat-filen vil fullføre arbeidet. Denne metoden er bra hvis loggfilen er liten, ellers vil Notepad nekte å åpne den, og foreslår at du bruker WordPad. Men dette problemet kan også løses, som vil bli vist i ytterligere eksempler.

Hvordan automatisere lanseringen av bat-filer

Svært ofte er det nødvendig å automatisere lanseringen av bat-filer for å utføre rutineoperasjoner. For å kjøre bat-filer etter en tidsplan, er Scheduler inkludert i standard Windows-pakken best egnet. Med denne hjelpen kan du konfigurere lanseringen veldig fleksibelt batch-fil på bestemte dager eller timer, med bestemte intervaller. Du kan lage flere tidsplaner osv.

For å lansere batchfiler lokalt kan du bruke løsninger fra tredjeparter; heldigvis finnes det mange betalte og gratis alternativer til standardplanleggeren.

Batchfiler kan også brukes som påloggingsskript i domener. Når de brukes på denne måten, vil de bli utført hver gang brukeren logger på nettverket, uavhengig av hans ønske. Med deres hjelp kan du automatisere innsamlingen av informasjon om maskiner eller programvare installert på brukerdatamaskiner, tvinge endring Windows-innstillinger, installer ubemerket av brukeren programvare og automatisere løsningen av andre oppgaver, hvis manuell utførelse vil ta mye tid.

Hvordan lage en fil med et vilkårlig navn fra en bat-fil

Et omdirigeringssymbol brukes til å lage en fil mens en batchfil kjører. Det ser slik ut:
>
De. for å lage en fil må du omdirigere strømmen fra skjermen til filen. Dette kan gjøres ved å bruke følgende kommando:

@echo Start fil>C:\1.txt

Etter å ha utført denne kommandoen, opprettes en tekstfil med linjen Startfil i roten til stasjon C.
Når du oppretter en fil, kan du bruke systemvariabler eller deler av dem i navnet. Du kan for eksempel lage en rapportfil om driften av en bat-fil med et navn som tilsvarer datoen da bat-filen ble lansert. For å gjøre dette kan du bruke følgende linjer i bat-filen.

sett datotemp=%dato:~-10%
@echo .>%SYSTEMDRIVE%\%DATETEMP%.txt

Disse to linjene fungerer slik. Først lager vi en datetemp-variabel i minnet, som vi tildeler 10 tegn fra høyre til venstre fra DATE-systemvariabelen. Dermed inneholder den midlertidige variabelen datetemp bare gjeldende dato. Med neste linje omdirigerer vi utdataene fra punktsymbolet til en fil, hvis navn er hentet fra datetemp-variabelen, og txt-utvidelsen er spesifisert eksplisitt. Filen opprettes kl systemdisk datamaskinen der bat-filen kjører.

Når en administrator samler inn informasjon om datamaskiner på nettverket, vil det være mer praktisk å legge til datamaskinnavnet i filnavnet. Dette kan enkelt gjøres ved å bruke følgende kommando:

@echo .>C:\Mappenavn\%COMPUTERNAME%txt

Denne kommandoen, mens den utfører en batchfil, vil opprette en tekstfil på stasjon C med navnet på datamaskinen som batchfilen kjører på.
For å lage en fil med et bestemt navn, kan du bruke hvilke som helst systemvariabler, eller lage dine egne basert på systemvariabler og/eller andre data.

Hvordan lage en mappe fra en bat-fil

For å opprette en mappe, bruk MKDIR-kommandoen eller dens forkortede tilsvarende MD. For å lage en mappe fra en bat-fil må du bruke følgende kommando:

Etter å ha utført denne kommandoen, opprettes en mappenavn i mappen som bat-filen ble lansert fra. For å lage en fil på et annet sted enn der du startet bat-filen, for eksempel i roten til stasjon D, bruk en eksplisitt indikasjon på plasseringen til den nye mappen. Kommandoen vil se slik ut:

MD D:\Mappenavn

Når du oppretter mapper, kan du bruke systemvariabler. Du kan for eksempel opprette en mappe i roten til stasjon D med navnet nåværende bruker. For å gjøre dette trenger du variabelen %USERNAME%, og kommandoen vil se slik ut:

MD D:\%USERNAME%

Du kan komplisere kommandoen ytterligere og lage en mappe med navnet på den gjeldende brukeren på systemstasjonen til datamaskinen hans. Kommandoen for dette vil se slik ut:

MD %SYSTEMDRIVE%\%USERNAME%

Når du oppretter mapper eller filer, kan du bruke alle systemvariabler eller deler av disse. Følgende eksempel viser opprettelsen av en mappe på systemstasjonen til brukerens datamaskin med et navn som tilsvarer gjeldende dato.

sett datotemp=%dato:~-10%
MD %SYSTEMDRIVE%\%datetemp%

Dette designet fungerer som følger.
Den første kommandoen oppretter en datetemp-variabel i minnet, som vil bli ødelagt når bat-filen er ferdig å kjøre. Inntil bat-filen har fullført arbeidet, er det mulig å operere med verdien til denne variabelen. Datetemp-variabelen er tildelt 10 tegn fra høyre til venstre for DATE-systemvariabelen, dvs. fra dagens dato. DATE-variabelen har formatet Dag DD.MM.ÅÅÅÅ. De første tegnene til venstre er navnet på ukedagen, så vi forkaster dem og tildeler kun gjeldende dato til den midlertidige variabelen datetemp.
Dette begrenser ikke listen over muligheter når du oppretter mapper. Du kan manipulere variabler slik du vil, lage mapper med unike, lettleste navn. Du kan få en liste over alle variabler ved å bruke SET-kommandoen.

Hvordan omdirigere resultatet av kommandoutførelse til en fil

Ofte, når du kjører en kompleks bat-fil i automatisk modus Det kan være vanskelig å verifisere resultatene av arbeidet av mange årsaker. Derfor er det lettere å skrive resultatene av batchfilkommandoer til en tekstfil (loggfil). og analyser deretter den korrekte operasjonen til bat-filen ved å bruke denne loggen.
Å omdirigere resultatet av bat-filkommandoer til en loggfil er ganske enkelt. Det følgende vil vise hvordan dette kan gjøres.
Lag en bat-fil med følgende innhold (kopier disse linjene til Notisblokk og lagre filen med bat-utvidelsen):

@ekko av
ekkostart %tid%
echo Opprett test.txt
ekkotest>C:\test.txt
echo Kopier Test.txt til Old_test.txt
kopier C:\test.txt C:\Gammeltest.txt
ekkostopp %tid%

Den første linjen deaktiverer utdataene til selve kommandoene. Dermed vil bare resultatene av deres kjøring bli skrevet til loggfilen.
Den andre linjen skriver til loggfilen starttidspunktet for batchfilen.
Den tredje linjen skriver til loggfilen en forklaring om at følgende kommando vil lage en test.txt-fil
Kommandoen fra den fjerde linjen lager en fil test.txt fra roten til stasjon C. Filen opprettes for eksempel. Denne kommandoen skriver ordet test til filen C:\test.txt
Den femte linjen skriver ut til loggfilen en forklaring om at følgende kommando kopierer en fil fra ett sted til et annet.
Kommandoen i sjette linje kopierer den opprettede filen C:\test.txt til filen C:\Old_test.txt, dvs. en kopi av filen opprettes under et nytt navn.
Den siste, syvende linjen inneholder en kommando for å vise fullføringstiden for batchfilen. Sammen med registreringen av starttidspunktet for batchfilen i loggfilen, gjør disse to tidsverdiene det mulig å estimere kjøretiden til batchfilen.

Lagre denne batchfilen med et navn som 1.bat
La oss anta at vi ønsker å lagre en rapport om driften av en batchfil i en egen mappe og skrive en rapport hver dag med et nytt filnavn, slik at vi kan få tilgang til loggene for tidligere dager på en hvilken som helst dag. Dessuten vil jeg gjerne ha navnet på loggfilen i form av driftsdatoen for batchfilen. For å implementere alt dette, la oss lage en mappe på stasjon C (for eksempel) kalt LOG, dvs. den fullstendige banen til den vil se ut som C:\LOG. Vi kjører den opprettede batchfilen 1.bat med følgende kommando:

1.bat>C:\LOG\%date~-10%.txt

Hvis batchfilen vil bli lansert fra planleggeren, må du spesifisere hele banen til bat-filen. Husk at hvis det er mellomrom i banen, må du bruke enten anførselstegn eller 8.3-format. Det vil si at hvis banen til bat-filen er C:\Program Files\1.bat, for eksempel, må du spesifisere én av følgende linjer i Scheduler-kommandolinjen for å kjøre bat-filen:

"C:\Program Files\1.bat">C:\LOG\%date~-10%.txt
C:\Progra~1\1.bat>C:\LOG\%date~-10%.txt

Etter å ha kjørt 1.bat-filen, vil det bli opprettet en fil i C:\LOG-mappen med et navn som tilsvarer datoen bat-filen ble lansert, for eksempel 01/13/2004.txt Dette vil være en rapport om drift av 1.bat batch-filen
Å kjøre bat-filen, et eksempel som vises i den første oppføringen øverst på siden, ved å bruke kommandoen ovenfor, vil føre til opprettelse av en loggfil med følgende innhold:

Start 19:03:27.20
Opprett test.txt
Kopier Test.txt til Old_test.txt
Filer kopiert: 1.
Stopp 19:03:27.21

Derfor, for å omdirigere resultatene av en bat-fil til en loggfil, må du bruke omdirigeringssymbolet > Syntaksen er som følger:

Bane\Filnavn.bat>Path\LogFilnavn.txt

Loggfiltypen kan være hva som helst. Om ønskelig kan en rapport om utførelse av en batchjobb til og med formateres i skjemaet html sider(de korresponderende taggene kan sendes ut til en loggfil på samme måte som kommentarer ble skrevet ut i eksempel 1.bat) og kopier den til bedriftsserveren.

Slik svarer du automatisk på en bekreftelsesforespørsel

Noen kommandoer krever bekreftelse av en potensielt farlig handling når de utføres. For eksempel vil kommandoer som format eller del først be om bekreftelse før videre kjøring. Hvis en av disse kommandoene utføres i en batchfil, vil bekreftelsesprompten stoppe batchfilen fra å kjøre, og den vil vente på at brukeren velger ett av de gitte alternativene. Videre, hvis resultatet av å kjøre en batchfil omdirigeres til en loggfil, vil ikke brukeren se en bekreftelsesforespørsel og batchfilen vil vises frossen.

For å rette opp slike problemer kan du omdirigere ønsket respons til kommandoen. De. utfør den omvendte handlingen for å omdirigere utdataene fra kommandoen til en fil.
La oss se på et eksempel på hvordan en forespørsel om å bekrefte en potensielt farlig handling ser ut. La oss lage for eksempel en mappemappe på stasjon C. La oss lage eller kopiere to filer inn i den. Deretter åpner du kommandolinjen og kjører følgende kommando:

Denne kommandoen skal fjerne alle filer fra spesifisert mappe. Men først vil du bli bedt om å bekrefte følgende innhold:

C:\Folder\*, fortsette ?

Kommandoen vil slutte å utføre inntil enten Y-tasten eller N-tasten trykkes. Når du kjører en batchfil i automatisk modus, vil kjøringen stoppe.
For å unngå dette bruker vi omdirigering. Omdirigering utføres ved hjelp av symbolet
Den vertikale linjen indikerer at i stedet for å vise symbolet på skjermen, bør det "gis" til kommandoen etter symbolet. La oss sjekke omdirigeringen. Kjør følgende kommando på kommandolinjen:

echo Y|del C:\Folder

Skjermen vil vise en forespørsel om å bekrefte sletting av alle filer i mappen mappe, men med et positivt svar (Y). Alle filene i mappen vil bli slettet.
Vær forsiktig med denne kommandoen.

Hvordan deaktivere kommandoer som vises når du kjører en batchfil

Når du utfører en batchfil, vises i tillegg til resultatene av kommandoen, selve kommandoene. Du kan bruke @-symbolet for å undertrykke kommandoutgang.
For å unngå å skrive ut én kommando på skjermen, kan du sette et @-tegn i begynnelsen av kommandoen.

Denne kommandoen viser kommandoen ekkotesting, og på neste linje - resultatet av operasjonen, ordet testing.

Denne kommandoen vil kun vise resultatet av kommandoen, dvs. ordet testing. Selve kommandoen sendes ikke ut.
Hvis du ikke trenger å vise kommandoer på skjermen gjennom hele kjøringen av hele filen, er det lettere å skrive følgende kommando som første linje i batchfilen:

Denne kommandoen vil deaktivere kommandoutgang til skjermen for hele batchfilen. For å forhindre at selve kommandoen skrives ut, begynner den med @-symbolet.

Hvordan kjøre en annen fra en bat-fil

Noen ganger, mens du kjører en batchfil, blir det nødvendig å kjøre en annen batchfil. Dessuten, i noen tilfeller må kjøringen av hovedbatchfilen suspenderes mens hjelpefilen kjøres, og i andre må hjelpefilen kjøres parallelt med hovedfilen.
La oss for eksempel lage to bat-filer. En som heter 1.bat og inneholder bare én kommando

Den andre heter 2.bat og inneholder også én kommando

La oss nå kjøre 1.bat-filen. Et vindu åpnes der du blir bedt om å trykke på en hvilken som helst tast for å fortsette, etter å ha trykket vil vinduet lukkes. Ved å kalle en batchfil til en annen ved å bruke call-kommandoen stopper kjøringen av batchfilen til batchfilen som kalles av call-kommandoen fullfører kjøringen.

I et annet tilfelle må du starte enten et program eller en annen batchfil fra en batchfil uten å avbryte kjøringen av hovedbatchfilen. Dette må ofte gjøres, for eksempel ved å åpne loggen til en batchfil som er planlagt for natten, slik at brukeren om morgenen kan kontrollere at den er utført. Til dette formålet brukes den start kommando La oss rette linjen i fil 1.bat til

og kjør 1.bat-filen Nå har et vindu åpnet seg der du må trykke på en hvilken som helst knapp for å fortsette, og vinduet til hovedbatchfilen (1.bat) er lukket.
For å ringe en annen fra en batchfil uten å stoppe den første batchfilen, må du bruke startkommandoen.
Start- og anropskommandoene diskutert ovenfor kan brukes ikke bare til å starte andre batchfiler, men også til å starte alle applikasjoner eller åpne filer.
For eksempel vil start log.txt-kommandoen i brødteksten til en batchfil åpne log.txt-filen i Notisblokk uten å stoppe batchfilen.

Hvordan sende en melding fra en bat-fil

Når en batchfil kjøres på en av maskinene på nettverket, er det praktisk å informere administratoren om at kjøringen er fullført ved hjelp av en melding sendt til administratorens maskin. Du kan gjøre dette ved å inkludere kommandoen i batchfilen

net send navn Meldingstekst

Der navn er navnet på maskinen eller brukeren som meldingen er adressert til, og meldingstekst er meldingens tekst. Etter å ha kjørt denne kommandoen, vil en melding bli sendt til brukernavn.
Vær oppmerksom på at når du bruker kyrillisk i teksten til en melding, må teksten skrives inn i MS-DOS-koding (866 kodeside). Ellers vil meldingen komme i form av uleselige tegn. Du kan skrive inn tekst i DOS-koding ved å bruke et hvilket som helst tekstredigeringsprogram som støtter denne kodingen. Dette kan for eksempel være FAR. Åpne en batchfil for redigering i FAR (F4) og trykk på F8-knappen. Den øverste linjen i editoren skal indikere DOS-kodingen, og nederst, ved ledeteksten om hurtigtaster, skal F8-tasten ha inskripsjonen Win, som indikerer at gjeldende koding er DOS og for å bytte til Win-koding du må trykke F8.

Hvordan automatisere filsletting etter type

For å tømme disken for midlertidige filer, kan du bruke kommandoen

del /f /s /q C:\*.tmp

Hvor
/f - sletter alle filer, selv om de har skrivebeskyttet attributt satt
/s - sletter filer fra alle underkataloger
/q - deaktiverer forespørselen om å bekrefte filsletting
C: er stasjonen der filene vil bli funnet og slettet. Du kan ikke spesifisere hele disken, men en mappe, for eksempel C:\WinNT
*.tmp - type filer som vil bli slettet

Vær forsiktig med /q-bryteren og filtypene du sletter. Kommandoen sletter uten å spørre om tillatelse, og hvis feil filtype er angitt, kan den slette unødvendige.

Hvordan endre en datamaskins IP-adresse fra en batchfil

IP-adressen kan endres ved å bruke netsh-kommandoen.
For å endre IP-adressen riktig, må du først finne ut gjeldende konfigurasjon. Dette kan gjøres på kommandolinjen ved å bruke kommandoen

netsh grensesnitt ip vis adresse

Resultatet av denne kommandoen er å vise gjeldende konfigurasjon av nettverksgrensesnittet. Vi er interessert i navnet på grensesnittet. La oss si at det heter FASTNET.
La oss anta at du må endre IP-adressen til 192.168.1.42, nettverksadresseringen er statisk, uten å bruke DHCP, gatewayen er 192.168.1.1, masken er 255.255.255.0. I dette tilfellet må kommandoen som må utføres fra batchfilen vil se slik ut:

netsh-grensesnitt ip-sett adresse navn = "FASTNET" statisk 192.168.1.42 255.255.255.0 192.169.1.1 1

Etter å ha utført denne kommandoen, vil FASTNET-grensesnittets IP-adresse endres til 192.168.1.42.
Netsh-kommandoen gir omfattende administrasjonsmuligheter nettverksinnstillinger fra kommandolinjen. For å bli kjent med andre funksjonalitet bruke hjelp med netsh /?

Hvordan finne ut datamaskinnavnet fra en bat-fil

For å finne ut datamaskinnavnet når du kjører en bat-fil (for å bruke denne verdien i fremtiden), bruk kommandoen

Denne kommandoen returnerer navnet på datamaskinen den kjører på.

Hvordan gi nytt navn til filer med maske fra en batchfil

Noen ganger blir det nødvendig å endre navn på alle filene i en mappe ved å bruke en mal fra en batchfil. Dette kan gjøres ved å bruke følgende kommando i bat-filen:

for /f "tokens=*" %%a in ("dir /b PATH\*.*") gjør ren PATH\%%a Prefiks%%a

På denne linjen må du erstatte PATH\ med banen til filene som skal gis nytt navn, og prefikset med de tegnene som legges til i filnavnet ved nytt navn.
Ikke legg batchfilen i mappen der endringen skjer, ellers vil den også få nytt navn. Hvis det er undermapper i mappen hvor filene er omdøpt, vil det også legges til et prefiks i navnet på undermappen, dvs. undermapper vil bli omdøpt som filer.
Hvis du spesifiserer en spesifikk maske for filtypene som er gjenstand for omdøping, for eksempel *.txt, og ikke *.* som i eksempelet, vil bare filer av de angitte typene få nytt navn. Andre filer og mapper vil ikke få nytt navn.

Andre alternativ:
sett PATH=C:\test
for %%I i (*.txt) gjør ren "%thePATH%\%%~nxI" "%%~nI.dat"
Slik bruker du prosentsymbolet i en batchfil

For å bruke prosentsymbolet (%) i en batchfil, må du skrive det to ganger. For eksempel
ekko 50 %%
Denne kommandoen i bat-filen vil vise 50%. Hvis du bruker kommandoen ekko 50 %, vil bare tallet 50 vises på skjermen.
Ta hensyn til denne funksjonen når du bruker %-symbolet når du skriver batchfiler.

Hvordan eksportere registeret fra en batchfil

regedit.exe -ea C:\environment.reg "HKEY_CURRENT_USER\Environment"

Denne kommandoen, når du kjører en batchfil, vil dumpe HKEY_CURRENT_USER\Environment-grenen inn i filen C:\environment.reg Når du trenger å gjenopprette parameterverdiene i HKEY_CURRENT_USER\Environment, vil det være nok å kjøre environment.reg fil. Denne kommandoen kan brukes til å lage en daglig sikkerhetskopi av programvare og systeminnstillinger som er lagret i registeret.
Ikke glem at hvis det er et mellomrom i banen der utdatafilen skal lagres eller i navnet på registerkuben, må de være omgitt av anførselstegn.

Slik importerer du registervariabelverdier fra en batchfil

Hvis det er behov for å importere tidligere lagrede eller nye variabelverdier til registeret fra en batchfil, kan dette gjøres ved å bruke kommandoen

regedit.exe -s C:\environment.reg

Denne kommandoen importerer data fra filen environment.reg til registret uten å be om bekreftelse ved å bruke -s-bryteren.

Hvordan omgå datokontroll fra en flaggermus-fil

Noe programvare sjekker gjeldende systemdato ved oppstart. Hvis datoen er større enn det som ble satt av utvikleren, starter ikke programmet. For eksempel tror utvikleren at en versjon av programmet kan fungere i en måned, og deretter må brukeren installere oppdatert versjon programmer. På den ene siden er dette en bekymring for brukeren, som vil ha til disposisjon den nyeste versjonen av programmet med manglene eliminert i forhold til tidligere versjoner. På den annen side tvinger produsenten brukeren til å laste ned ny verson selv om brukeren er helt fornøyd med versjonen av programmet han har installert. Dette problemet kan enkelt løses ved å bruke følgende batchfil, som vil kjøre programmet, vente til det fullføres, og returnere datoen til det den var før programmet ble lansert.

sett tempdate=%dato:~-10%
dato 01-01-04
notepad.exe
dato %tempdate%

I i dette eksemplet Gjeldende systemdato blir først lagret i en variabel, deretter (i andre linje) settes systemdatoen til 1. januar 2004, og deretter kalles et program som sjekker systemdatoen. I dette eksemplet er det Notisblokk. Så lenge Notisblokk er åpen, venter batchfilen uten å fullføre eller sette systemdatoen tilbake. Når Notepad er lukket, vil batchfilen fortsette å kjøre og sette systemdatoen til verdien som er lagret i tempdate-variabelen, dvs. til den som var før du kjørte batchfilen.

Ikke glem at hvis banen til filen som kjører programmet inneholder mellomrom, må den (banen) være omgitt av anførselstegn. Hvis banen inneholder kyrillisk, må du bruke et tekstredigeringsprogram som støtter DOS-koding når du skriver en batchfil (for eksempel FAR). Ellers, når du kjører batchfilen, vil en melding vises som sier at " spesifisert fil er ikke en intern eller ekstern kommando...".

Hvis programmet sjekker gjeldende systemdato først når det starter og ikke gjør dette igjen under drift, kan batchfilen endres ved å legge til før navnet kjørbar fil programoperatørstart, dvs. vårt eksempel vil se slik ut:

sett tempdate=%dato:~-10%
dato 01-01-04
start notepad.exe
dato %tempdate%

I dette tilfellet vil batchfilen endre systemdatoen, starte programmet og, uten å vente på at det skal fullføres, returnere datoen til den som var før programmet ble lansert.

Hvordan vente på at en bestemt fil skal vises i en bat-fil

Noen ganger er det nødvendig å utføre en handling når en bestemt fil vises i en mappe. For å organisere en sjekk for utseendet til en fil i en mappe, kan du bruke følgende batchfil

:test
hvis det finnes, må c:\1.txt gå
sove 10
skal prøve
:gå
notatblokk

En slik batchfil vil sjekke med 10-sekunders intervaller for tilstedeværelsen av fil 1.txt i roten av C-stasjonen, og når fil 1.txt vises, vil handlingen spesifisert etter go-etiketten bli utført, dvs. dette eksemplet vil starte Notisblokk.
Søvnverktøyet distribueres fritt som en del av ressurssettet. Du kan laste den ned her.
Hvis 1.txt-filen er stor og blir kopiert fra et sted, kan det hende at batchfilen vil sjekke om den er tilstede mens filen ennå ikke er kopiert eller er opptatt med et annet program. I dette tilfellet vil forsøk på å utføre noen handlinger med 1.txt-filen resultere i en feil. For å forhindre at dette skjer, kan batchfilen endres som følger

:test
hvis det finnes, må c:\1.txt gå
sove 10
skal prøve
:gå
gi nytt navn til c:\1.txt 1.txt
hvis ikke må feilnivå 0 gå
del c:\1.txt

Når 1.txt-filen ikke er fullstendig kopiert til stasjon C, eller er okkupert av et annet program, vil et forsøk på å endre navn på den forårsake en feil, og syklusen vil bli gjentatt til filen er fullstendig kopiert eller frigjort. Etter at rename c:\1.txt 1.txt-kommandoen er utført uten feil (dvs. filen er gratis), kan du utføre alle handlinger med den. I det siste eksemplet er det å fjerne det.

Hvordan legge til kommentarer til en bat-fil

Når du skriver en stor batchfil, er det veldig nyttig å legge til kommentarer til hovedblokkene. Dette vil gjøre det enkelt å forstå hva disse blokkene gjør over tid.

Bat-filer er tekstdokumenter som inneholder en liste over sekvensielt utførte kommandoer (instruksjoner). De kan være så enkle at den gjennomsnittlige brukeren kan bruke dem. I dagens emne skal vi se på hva en batchfil er, hvordan lage en bat-fil i Windows 7, 8, og vurdere også et eksempel på batchfil.

Sysadmins (avanserte brukere) er godt klar over nytten av bat-filer, men vanlige brukere ikke er kjent med dem, blir de skremt av strukturen til koden og kjører dette skriptet. Dette er uheldig fordi mange mennesker viker unna å bruke et kraftig verktøy for å utføre rutinemessige og repeterende oppgaver. Bat-filer kan være komplekse, krever profesjonelle programmeringskunnskaper eller enkle.

En body-fil inneholder én eller flere linjer med kommandoer som utføres sekvensielt. Bat-filer har en utvidelse (bat eller cmd) og kjøres gjennom kommandotolkergrensesnittet. Alle kommandoer kan legges inn i cmd, men hver gang skriving av koden er et ork, så det er lettere å lage en bat-fil.

Opprette en bat-fil

For å lage en batch-fil trenger du et tekstredigeringsprogram (notisblokk, notepad++) og . Se den omtrentlige algoritmen nedenfor.

1. Lag et tekstdokument med utvidelsen txt. Høyreklikk på et tomt område i File Explorer eller et annet sted. Pek på "opprett", velg deretter "tekstdokument" fra undermenyen. Gi den et navn, for eksempel batnik.

2. Last ned notepad++ og installer den. Åpne batnik.txt i notepad++, velg “encodings”, hold musepekeren over “encodings”, “Cyrillic”, klikk på OEM 866. Gjør dette trinnet hvis du bruker utdata fra russiske ord (forklaringer) i skriptet, ellers vil du se dårlig språk (ikke gyldige tegn). Deretter skriver du ned kommandoene. Kopier for eksempel denne teksten:

@ekko av
echo Hello – bat-filtest
pause
dir c:\windows
pause

4. Dobbeltklikk for å kjøre batnik.bat for å utføre en sekvens med kommandoer. Etter at bat-filen er utført, lukkes den automatisk.

Du kan også starte notisblokk, trykk Win + R, skriv inn notisblokk på linjen og klikk Enter. Etter å ha skrevet inn koden, klikk "fil" og deretter "lagre som". I vinduet, spesifiser lagringsbanen, filnavnet med bat-utvidelsen og klikk "lagre". Gjør det samme med notepad++ for å endre kodingen (trinn 2) hvis du bruker russiske tegn.

Eksempel på bat-fil

La oss nå se på lage en bat-fil i Windows 7, 8, som gir informasjon om nettverket, sjekker Internett-tilkoblingen og viser tydelig handlingen til batchfiler. Lag en bat-fil og skriv disse linjene.

EKKO AV
:: renere.
ECHO Tilkoblingsinformasjon.
:: viser teksten på skjermen som kommer etter tjenesteordet ECHO.
IPCONFIG /ALL
:: Skriver ut informasjon om alle nettverkstilkoblinger.
PAUSE
:: Setter skriptet på pause slik at du kan se nettverksinformasjon.
PING yandex.ru
:: Ping, sjekker tilstedeværelsen (fraværet) av en Internett-tilkobling
ECHO-operasjon fullført. Trykk enter!
:: Viser ord etter EKKO som indikerer at PING er fullført.
PAUSE
:: Denne siste kommandoen er skrevet for å se tilkoblingsinformasjon. Hvis det ikke var der, ville batchfilskriptet stoppe og vinduet lukkes.

Faktisk er det et stort antall eksempler på baht-filer for trening og nedlasting på Internett. Du trenger bare å studere syntaksen og kommandoene for å lage din egen batch-fil som passer dine behov. Jeg håper du forstår hvorfor batchfiler er nødvendig, og hvordan lage en bat-fil i Windows 7.8.