Hoe maak je een bat-bestand om een ​​programma te starten? Bat-bestandsopdrachten. Hoe maak je een bat-bestand? Basiscommando's

Batch- of batchbestanden zijn gewone tekstbestanden die sets tolkopdrachten bevatten en de extensie bat of cmd hebben (cmd werkt alleen in besturingssystemen uit de NT-familie). U kunt dergelijke bestanden bewerken met Kladblok of een andere teksteditor.

Open Kladblok en typ de volgende twee regels:

@echo Dit batchbestand
@pauze

Dit batchbestand
Druk op een willekeurige toets om door te gaan...

Nadat u op een willekeurige toets hebt gedrukt, wordt het venster gesloten, omdat bat-bestand is voltooid.
Houd er rekening mee dat het hondsymbool vóór elk commando in het bat-bestand aangeeft dat het commando zelf niet op het scherm hoeft te worden weergegeven, maar dat alleen het resultaat van de bewerking ervan moet worden weergegeven. Om te experimenteren verwijdert u het hondenkarakter aan het begin van elke regel, slaat u het resulterende bat-bestand op en voert u het uit.

Commando's gebruikt in bat-bestanden

De lijst met opdrachten die in bat-bestanden kunnen worden gebruikt, kan worden bekeken door de opdracht in de opdrachtregel in te voeren (Start - Uitvoeren - cmd voor Windows NT-familie of Start - Uitvoeren - opdracht voor de 9x-regel)

Het resultaat van de hulp is een lijst met beschikbare opdrachten met een korte uitleg ervan. Om meer gedetailleerde informatie te krijgen over de opdracht waarin u geïnteresseerd bent, voert u help opdrachtnaam in op de opdrachtregel. Als u bijvoorbeeld gedetailleerde hulp wilt krijgen over de AT-opdrachtschakelaars, voert u de volgende opdracht uit:

Als gevolg hiervan wordt op het scherm een ​​lijst met sleutels weergegeven voor het uitvoeren van de AT-opdracht vanuit een bat-bestand.
Als het bat-bestand onder Windows wordt uitgevoerd (niet puur DOS), kunt u er alle toepassingen mee uitvoeren of bestanden openen. U moet bijvoorbeeld automatisch het logbestand van het bat-bestand openen wanneer het zijn werk heeft voltooid. Om dit te doen, neemt u gewoon de volgende opdracht op in het bat-bestand als de laatste regel:

start bestandsnaam.txt

Het resultaat van het uitvoeren van deze opdracht is het openen van het bestand bestandsnaam.txt, en het bat-bestand zelf zal zijn werk voltooien. Deze methode is goed als het logbestand klein is, anders zal Kladblok weigeren het te openen, wat suggereert dat u WordPad gebruikt. Maar dit probleem kan ook worden opgelost, zoals uit verdere voorbeelden zal blijken.

Hoe u het starten van bat-bestanden kunt automatiseren

Heel vaak is het nodig om het starten van bat-bestanden te automatiseren om routinematige bewerkingen uit te voeren. Om bat-bestanden volgens een schema uit te voeren, is de Scheduler die in het standaard Windows-pakket zit het meest geschikt. Met deze hulp kunt u zeer flexibel de lancering van een batchbestand op bepaalde dagen of uren, met een bepaald interval, configureren. U kunt meerdere schema's maken, enz.

Om batchbestanden lokaal te starten kun je gebruik maken van oplossingen van derden; gelukkig zijn er heel veel betaalde en gratis alternatieven voor de standaard Scheduler.

Batchbestanden kunnen ook worden gebruikt als inlogscripts in domeinen. Wanneer ze op deze manier worden gebruikt, worden ze elke keer uitgevoerd wanneer de gebruiker inlogt op het netwerk, ongeacht zijn wens. Met hun hulp kunt u het verzamelen van informatie over machines of software die op gebruikerscomputers is geïnstalleerd, automatiseren, Windows-instellingen krachtig wijzigen, software installeren zonder dat de gebruiker het merkt, en de oplossing automatiseren van andere taken die veel tijd kosten om handmatig uit te voeren.

Hoe maak je een bestand met een willekeurige naam uit een bat-bestand?

Een omleidingssymbool wordt gebruikt om een ​​bestand te maken tijdens de uitvoering van batchbestanden. Het ziet er zo uit:
>
Die. om een ​​bestand te maken, moet u de stream van het scherm naar het bestand omleiden. Dit kan gedaan worden met behulp van de volgende opdracht:

@echo Startbestand>C:\1.txt

Na het uitvoeren van deze opdracht wordt er een tekstbestand met de regel Startbestand aangemaakt in de hoofdmap van station C.
Wanneer u een bestand maakt, kunt u systeemvariabelen of delen daarvan in de naam gebruiken. U kunt bijvoorbeeld een rapportbestand maken over de werking van een bat-bestand met een naam die gelijk is aan de datum waarop het bat-bestand is gestart. Om dit te doen, kunt u de volgende regels in het bat-bestand gebruiken.

stel datetemp=%datum in:~-10%
@echo .>%SYSTEMDRIVE%\%DATETEMP%.txt

Deze twee lijnen werken als volgt. Eerst maken we een datetemp-variabele in het geheugen, waaraan we 10 tekens van rechts naar links toewijzen vanaf de DATE-systeemvariabele. De tijdelijke variabele datetemp bevat nu dus alleen de huidige datum. Met de volgende regel leiden we de uitvoer van het puntsymbool om naar een bestand waarvan de naam is overgenomen van de datetemp-variabele, en de txt-extensie expliciet is opgegeven. Het bestand wordt aangemaakt op de systeemschijf van de computer waarop het bat-bestand wordt uitgevoerd.

Wanneer een beheerder informatie verzamelt over computers op het netwerk, is het handiger om de computernaam aan de bestandsnaam toe te voegen. Dit kan eenvoudig worden gedaan met behulp van de volgende opdracht:

@echo .>C:\Mapnaam\%COMPUTERNAAM%.txt

Met deze opdracht wordt tijdens het uitvoeren van een batchbestand een tekstbestand op station C gemaakt met de naam van de computer waarop het batchbestand wordt uitgevoerd.
Om een ​​bestand met een specifieke naam te maken, kunt u alle systeemvariabelen gebruiken, of uw eigen variabelen maken op basis van systeemvariabelen en/of andere gegevens.

Hoe u een map kunt maken van een bat-bestand

Om een ​​map te maken, gebruikt u de opdracht MKDIR of het verkorte equivalent MD. Om een ​​map van een bat-bestand te maken, moet je de volgende opdracht gebruiken:

Na het uitvoeren van deze opdracht wordt er een FolderName-map aangemaakt in de map van waaruit het bat-bestand is gestart. Als u een bestand op een andere locatie wilt maken dan waar u het bat-bestand hebt gestart, bijvoorbeeld in de hoofdmap van station D, gebruikt u een expliciete aanduiding van de locatie van de nieuwe map. Het commando ziet er als volgt uit:

MD D:\Mapnaam

Bij het maken van mappen kunt u systeemvariabelen gebruiken. U kunt bijvoorbeeld in de hoofdmap van station D een map maken met de naam van de huidige gebruiker. Om dit te doen heeft u de variabele %USERNAME% nodig en het commando ziet er als volgt uit:

MD D:\%GEBRUIKERSNAAM%

U kunt de opdracht nog ingewikkelder maken en een map maken met de naam van de huidige gebruiker op de systeemschijf van zijn computer. Het commando hiervoor zou er als volgt uitzien:

MD %SYSTEMDRIVE%\%USERNAME%

Bij het maken van mappen of bestanden kunt u alle systeemvariabelen of delen daarvan gebruiken. Het volgende voorbeeld demonstreert het aanmaken van een map op het systeemstation van de computer van de gebruiker met een naam die gelijk is aan de huidige datum.

stel datetemp=%datum in:~-10%
MD %SYSTEMDRIVE%\%datetemp%

Dit ontwerp werkt als volgt.
De eerste opdracht creëert een datetemp-variabele in het geheugen, die zal worden vernietigd wanneer het bat-bestand klaar is met draaien. Totdat het bat-bestand zijn werk heeft gedaan, is het mogelijk om met de waarde van deze variabele te werken. Aan de datetemp-variabele worden 10 tekens toegewezen van rechts naar links van de DATE-systeemvariabele, d.w.z. vanaf de huidige datum. De DATE-variabele heeft het formaat Dag DD.MM.JJJJ. De eerste tekens aan de linkerkant zijn de naam van de dag van de week, dus we negeren ze en wijzen alleen de huidige datum toe aan de tijdelijke variabele datetemp.
Dit beperkt de lijst met mogelijkheden bij het maken van mappen niet. U kunt variabelen manipuleren zoals u dat wilt, door mappen te maken met unieke, gemakkelijk leesbare namen. Met de opdracht SET kunt u een lijst met alle variabelen opvragen.

Hoe u het resultaat van de opdrachtuitvoering naar een bestand kunt omleiden

Vaak kan het bij het uitvoeren van een complex bat-bestand in de automatische modus om vele redenen moeilijk zijn om de resultaten van het werk te controleren. Daarom is het eenvoudiger om de resultaten van batchbestandsopdrachten naar een tekstbestand (logbestand) te schrijven. en analyseer vervolgens de juiste werking van het bat-bestand met behulp van dit logboek.
Het resultaat van bat-bestandsopdrachten omleiden naar een logbestand is vrij eenvoudig. Het volgende zal laten zien hoe dit kan worden gedaan.
Maak een bat-bestand met de volgende inhoud (kopieer deze regels naar Kladblok en sla het bestand op met de bat-extensie):

@echo uit
echo Begin %time%
echo Maak test.txt
echotest>C:\test.txt
echo Kopieer Test.txt naar Old_test.txt
kopieer C:\test.txt C:\Oude_test.txt
echo Stop %time%

De eerste regel schakelt de uitvoer van de opdrachten zelf uit. Alleen de resultaten van de uitvoering ervan worden dus naar het logbestand geschreven.
De tweede regel schrijft de starttijd van het batchbestand naar het logbestand.
De derde regel schrijft naar het logbestand een uitleg dat de volgende opdracht een test.txt-bestand zal maken
Met het commando op de vierde regel wordt een bestand test.txt gemaakt vanuit de hoofdmap van station C. Het bestand wordt bijvoorbeeld gemaakt. Dit commando schrijft het woord test naar het bestand C:\test.txt
Op de vijfde regel wordt in het logbestand een uitleg afgedrukt dat de volgende opdracht een bestand van de ene locatie naar de andere kopieert.
Het commando op de zesde regel kopieert het aangemaakte bestand C:\test.txt naar het bestand C:\Old_test.txt, d.w.z. er wordt een kopie van het bestand gemaakt onder een nieuwe naam.
De laatste, zevende regel bevat een commando om de voltooiingstijd van het batchbestand weer te geven. Samen met de registratie van de starttijd van het batchbestand in het logbestand maken deze twee tijdswaarden het mogelijk om de looptijd van het batchbestand in te schatten.

Sla dit batchbestand op met een naam zoals 1.bat
Laten we aannemen dat we een rapport over de werking van een batchbestand in een aparte map willen opslaan en elke dag een rapport willen schrijven met een nieuwe bestandsnaam, zodat we op elke dag toegang hebben tot de logs van voorgaande dagen. Bovendien zou ik graag de naam van het logbestand willen hebben in de vorm van de werkingsdatum van het batchbestand. Om dit allemaal te implementeren, maken we een map op station C (bijvoorbeeld) met de naam LOG, d.w.z. het volledige pad ernaartoe ziet er als volgt uit: C:\LOG. We zullen het gemaakte batchbestand 1.bat uitvoeren met de volgende opdracht:

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

Als het batchbestand vanuit de Scheduler wordt gestart, moet u het volledige pad naar het bat-bestand opgeven. Houd er rekening mee dat als er spaties in het pad staan, u aanhalingstekens of de 8.3-indeling moet gebruiken. Dat wil zeggen, als het pad naar het bat-bestand bijvoorbeeld C:\Program Files\1.bat is, dan moet u op de opdrachtregel van Scheduler om het bat-bestand uit te voeren een van de volgende regels opgeven:

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

Na het uitvoeren van het 1.bat-bestand wordt er een bestand aangemaakt in de map C:\LOG met een naam die gelijk is aan de datum waarop het bat-bestand is gestart, bijvoorbeeld 13-01-2004.txt. Dit wordt een rapport over de werking van het 1.bat batchbestand
Het uitvoeren van het bat-bestand, waarvan een voorbeeld wordt weergegeven in de eerste lijst bovenaan de pagina, met behulp van de bovenstaande opdracht, zal leiden tot het maken van een logbestand met de volgende inhoud:

Aanvang 19:03:27.20
Maak test.txt
Kopieer Test.txt naar Old_test.txt
Bestanden gekopieerd: 1.
Halte 19:03:27.21

Om de resultaten van een bat-bestand naar een logbestand om te leiden, moet u dus het omleidingssymbool gebruiken > De syntaxis is als volgt:

Pad\Bestandsnaam.bat>Pad\LogBestandsnaam.txt

De logbestandsextensie kan van alles zijn. Indien gewenst kan een rapport over de uitvoering van een batchtaak zelfs worden opgemaakt als een html-pagina (de bijbehorende tags kunnen worden uitgevoerd naar een logbestand op dezelfde manier als commentaar werd uitgevoerd in voorbeeld 1.bat) en gekopieerd naar een bedrijfsaccount. server.

Hoe u automatisch kunt reageren op een bevestigingsverzoek

Sommige opdrachten vereisen bevestiging van een potentieel gevaarlijke actie wanneer ze worden uitgevoerd. Commando's zoals format of del zullen bijvoorbeeld eerst om bevestiging vragen voordat ze verder worden uitgevoerd. Als een van deze opdrachten wordt uitgevoerd in een batchbestand, zorgt de bevestigingsprompt ervoor dat het batchbestand niet wordt uitgevoerd en wacht het totdat de gebruiker een van de gegeven opties selecteert. Als het resultaat van het uitvoeren van een batchbestand bovendien wordt omgeleid naar een logbestand, ziet de gebruiker geen bevestigingsverzoek en lijkt het batchbestand bevroren.

Om dergelijke problemen te corrigeren, kunt u het gewenste antwoord naar de opdracht omleiden. Die. voer de omgekeerde actie uit om de uitvoer van de opdracht om te leiden naar een bestand.
Laten we eens kijken naar een voorbeeld van hoe een verzoek om bevestiging van een potentieel gevaarlijke actie eruit ziet. Laten we bijvoorbeeld een mapmap maken op station C. Laten we er twee bestanden naar maken of kopiëren. Open vervolgens de opdrachtregel en voer de volgende opdracht uit:

Met deze opdracht moeten alle bestanden uit de opgegeven map worden verwijderd. Maar eerst wordt u gevraagd de volgende inhoud te bevestigen:

C:\Map\*, Doorgaan?

De uitvoering van de opdracht stopt totdat de Y-toets of de N-toets wordt ingedrukt. Bij het uitvoeren van een batchbestand in de automatische modus stopt de uitvoering ervan.
Om dit te voorkomen gebruiken we omleiding. Omleiding vindt plaats met behulp van het symbool
De verticale lijn geeft aan dat in plaats van het symbool op het scherm weer te geven, het moet worden “gegeven” aan de opdracht die op het symbool volgt. Laten we de omleiding controleren. Voer de volgende opdracht uit op de opdrachtregel:

echo Y|del C:\Map

Op het scherm verschijnt een verzoek om het verwijderen van alle bestanden in de map Map te bevestigen, maar met een positief antwoord (Y). Alle bestanden in de map Map worden verwijderd.
Wees voorzichtig met dit commando.

Hoe u de weergave van opdrachten bij het uitvoeren van een batchbestand kunt uitschakelen

Bij het uitvoeren van een batchbestand worden naast de resultaten van de opdracht ook de opdrachten zelf weergegeven. U kunt het @-symbool gebruiken om de uitvoer van opdrachten te onderdrukken.
Om te voorkomen dat één opdracht op het scherm wordt afgedrukt, kunt u een @-teken aan het begin van de opdracht plaatsen.

Met deze opdracht wordt de opdracht echo Testing weergegeven en op de volgende regel het resultaat van de bewerking, het woord Testing.

Deze opdracht geeft alleen het resultaat van de opdracht weer, d.w.z. het woord testen. De opdracht zelf wordt niet uitgevoerd.
Als u tijdens de uitvoering van het hele bestand geen opdrachten op het scherm hoeft weer te geven, is het eenvoudiger om de volgende opdracht als eerste regel in het batchbestand te schrijven:

Met deze opdracht wordt de opdrachtuitvoer naar het scherm uitgeschakeld voor de duur van het gehele batchbestand. Om te voorkomen dat het commando zelf wordt afgedrukt, begint het met het @-symbool.

Hoe je een andere vanuit één bat-bestand kunt uitvoeren

Soms is het tijdens het uitvoeren van een batchbestand nodig om nog een batchbestand uit te voeren. Bovendien moet in sommige gevallen de uitvoering van het hoofdbatchbestand worden opgeschort terwijl het hulpbestand wordt uitgevoerd, en in andere gevallen moet het hulpbestand parallel met het hoofdbestand worden uitgevoerd.
Laten we bijvoorbeeld twee bat-bestanden maken. Eén genaamd 1.bat en bevat slechts één opdracht

De tweede heet 2.bat en bevat ook één commando

Laten we nu het bestand 1.bat uitvoeren. Er wordt een venster geopend waarin u wordt gevraagd op een willekeurige toets te drukken om door te gaan, waarna het venster wordt gesloten. Het aanroepen van het ene batchbestand naar het andere met behulp van de call-opdracht stopt dus de uitvoering van het batchbestand totdat het batchbestand dat door de call-opdracht wordt aangeroepen, de uitvoering voltooit.

In een ander geval moet u een toepassing of een ander batchbestand vanuit een bat-bestand starten zonder de uitvoering van het hoofdbatchbestand te onderbreken. Vaak moet dit bijvoorbeeld worden gedaan door het logboek van een batchbestand dat voor de nacht is gepland met geweld te openen, zodat de gebruiker 's ochtends de juistheid van de uitvoering ervan kan controleren. Om dit te doen, gebruikt u de opdracht start. Laten we de regel in bestand 1.bat corrigeren

en voer het 1.bat-bestand uit. Nu is er een venster geopend waarin u op een willekeurige knop moet drukken om door te gaan, en het venster van het hoofdbatchbestand (1.bat) is gesloten.
Om dus een ander batchbestand aan te roepen, zonder het eerste batchbestand te stoppen, moet u de opdracht start gebruiken.
De hierboven besproken start- en oproepopdrachten kunnen niet alleen worden gebruikt om andere batchbestanden te starten, maar ook om toepassingen te starten of bestanden te openen.
De opdracht start log.txt in de hoofdtekst van een batchbestand opent bijvoorbeeld het log.txt-bestand in Kladblok zonder het batchbestand te stoppen.

Een bericht verzenden vanuit een bat-bestand

Wanneer een batchbestand wordt uitgevoerd op een van de machines in het netwerk, is het handig om de beheerder te informeren dat de uitvoering ervan is voltooid door middel van een bericht dat naar de machine van de beheerder wordt verzonden. U kunt dit doen door de opdracht in het batchbestand op te nemen

netto verzendnaam Berichttekst

Waarbij naam de naam is van de machine of gebruiker aan wie het bericht is gericht, en Berichttekst de tekst van het bericht. Na het uitvoeren van deze opdracht wordt er een bericht naar de gebruikersnaam verzonden.
Houd er rekening mee dat wanneer u Cyrillisch gebruikt in de tekst van een bericht, de tekst moet worden getypt in MS-DOS-codering (866-codetabel). Anders komt het bericht binnen in de vorm van onleesbare tekens. U kunt tekst typen in DOS-codering met elke teksteditor die deze codering ondersteunt. Dit kan bijvoorbeeld FAR zijn. Open een batchbestand om te bewerken in FAR (F4) en druk op de F8-knop. De bovenste regel van de editor moet de DOS-codering aangeven, en onderaan, bij de tooltip over de sneltoetsen, moet de F8-toets de inscriptie Win hebben, wat aangeeft dat de huidige codering DOS is en om over te schakelen naar de Win-codering die je nodig hebt om op F8 te drukken.

Hoe u het verwijderen van bestanden per type kunt automatiseren

Om uw schijf van tijdelijke bestanden te wissen, kunt u de opdracht gebruiken

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

Waar
/f - verwijdert alle bestanden, zelfs als het attribuut alleen-lezen is ingesteld
/s - verwijdert bestanden uit alle submappen
/q - schakelt het verzoek uit om het verwijderen van bestanden te bevestigen
C: is de schijf waarop bestanden worden gevonden en verwijderd. U kunt niet de hele schijf opgeven, maar een map, bijvoorbeeld C:\WinNT
*.tmp - type bestanden dat wordt verwijderd

Wees voorzichtig met de schakeloptie /q en de typen bestanden die u verwijdert. De opdracht verwijdert zonder toestemming te vragen en als het verkeerde bestandstype is opgegeven, kan het onnodige bestanden verwijderen.

Hoe u het IP-adres van een computer kunt wijzigen vanuit een batchbestand

Het IP-adres kan worden gewijzigd met de opdracht netsh.
Om het IP-adres correct te wijzigen, moet u eerst de huidige configuratie achterhalen. Dit kan op de opdrachtregel worden gedaan met behulp van de opdracht

netsh interface ip toon adres

Het resultaat van deze opdracht is het weergeven van de huidige configuratie van de netwerkinterface. We zijn geïnteresseerd in de naam van de interface. Laten we zeggen dat het FASTNET heet.
Laten we aannemen dat u het IP-adres moet wijzigen in 192.168.1.42, de netwerkadressering is statisch, zonder DHCP te gebruiken, de gateway is 192.168.1.1, het masker is 255.255.255.0 het batchbestand ziet er als volgt uit:

netsh interface IP ingesteld adres naam = "FASTNET" statisch 192.168.1.42 255.255.255.0 192.169.1.1 1

Na het uitvoeren van dit commando verandert het IP-adres van de FASTNET-interface in 192.168.1.42.
De opdracht netsh biedt uitgebreide mogelijkheden voor het beheren van netwerkinstellingen vanaf de opdrachtregel. Voor andere functionaliteit, zie help bij het gebruiken van netsh /?

Hoe de computernaam uit een bat-bestand te achterhalen

Gebruik de opdracht om de computernaam te achterhalen bij het uitvoeren van een bat-bestand (om deze waarde in de toekomst te gebruiken).

Deze opdracht retourneert de naam van de computer waarop deze wordt uitgevoerd.

Hoe bestanden te hernoemen met een masker vanuit een batchbestand

Soms is het nodig om alle bestanden in een map te hernoemen met behulp van een sjabloon uit een batchbestand. Dit kan gedaan worden met behulp van de volgende opdracht in het bat-bestand:

for /f "tokens=*" %%a in ("dir /b PATH\*.*") do ren PATH\%%a Voorvoegsel%%a

In deze regel moet u PATH\ vervangen door het pad naar de bestanden waarvan de naam wordt gewijzigd, en het voorvoegsel door de tekens die bij het hernoemen aan de bestandsnaam worden toegevoegd.
Plaats het batchbestand niet in de map waar het hernoemen plaatsvindt, anders wordt het ook hernoemd. Als er submappen zijn in de map waarin de bestanden worden hernoemd, wordt er ook een voorvoegsel toegevoegd aan de naam van de submap, d.w.z. submappen worden hernoemd als bestanden.
Als u een specifiek masker opgeeft voor de bestandstypen waarvan de naam moet worden gewijzigd, bijvoorbeeld *.txt, en niet *.* zoals in het voorbeeld, worden alleen bestanden van de opgegeven typen hernoemd. Andere bestanden en mappen worden niet hernoemd.

Tweede optie:
stel PATH=C:\test in
voor %%I in (*.txt) doe ren "%thePATH%\%%~nxI" "%%~nI.dat"
Hoe het percentagesymbool in een batchbestand te gebruiken

Als u het procentteken (%) in een batchbestand wilt gebruiken, moet u het tweemaal schrijven. Bijvoorbeeld
echo 50%%
Deze opdracht in het bat-bestand geeft 50% weer. Als u het commando echo 50% gebruikt, wordt alleen het getal 50 op het scherm weergegeven.
Houd rekening met deze functie wanneer u het %-symbool gebruikt bij het schrijven van batchbestanden.

Hoe u het register vanuit een batchbestand kunt exporteren

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

Met deze opdracht wordt bij het uitvoeren van een batchbestand de vertakking HKEY_CURRENT_USER\Environment in het bestand C:\environment.reg gedumpt. Wanneer u de parameterwaarden in HKEY_CURRENT_USER\Environment moet herstellen, is het voldoende om de omgeving.reg uit te voeren. bestand. Met deze opdracht kunt u dagelijks een back-up maken van software- en systeeminstellingen die in het register zijn opgeslagen.
Vergeet niet dat als er een spatie is in het pad waar het uitvoerbestand moet worden opgeslagen of in de naam van de registercomponent, deze tussen aanhalingstekens moet worden geplaatst.

Hoe registervariabelewaarden uit een batchbestand te importeren

Als het nodig is om eerder opgeslagen of nieuwe variabelewaarden vanuit een batchbestand in het register te importeren, kunt u dit doen met de opdracht

regedit.exe -s C:\omgeving.reg

Met deze opdracht importeert u gegevens uit het bestand Environment.reg in het register zonder om bevestiging te vragen met behulp van de schakeloptie -s.

Datumcontrole vanuit een bat-bestand omzeilen

Sommige software controleert bij het opstarten de huidige systeemdatum. Als de datum groter is dan de datum die door de ontwikkelaar is ingesteld, start het programma niet. Een ontwikkelaar is bijvoorbeeld van mening dat een versie van een programma een maand kan werken, en dat de gebruiker dan een bijgewerkte versie van het programma moet installeren. Aan de ene kant is dit een zorg voor de gebruiker, die over de nieuwste versie van het programma zal beschikken, waarbij de tekortkomingen ten opzichte van eerdere versies zijn geëlimineerd. Aan de andere kant dwingt de fabrikant de gebruiker een nieuwe versie te downloaden, zelfs als de gebruiker volledig tevreden is met de versie van het programma dat hij heeft geïnstalleerd. Dit probleem kan eenvoudig worden opgelost met behulp van het volgende batchbestand, dat het programma zal uitvoeren, zal wachten tot het voltooid is en de datum terugzet naar de datum van vóór de lancering van het programma.

stel tempdate=%datum in:~-10%
datum 01-01-04
kladblok.exe
datum %tempdate%

In dit voorbeeld wordt eerst de huidige systeemdatum opgeslagen in een variabele, vervolgens (in de tweede regel) wordt de systeemdatum ingesteld op 1 januari 2004 en vervolgens wordt een programma aangeroepen dat de systeemdatum controleert. In dit voorbeeld is dat Kladblok. Zolang Kladblok geopend is, wacht het batchbestand zonder de systeemdatum te voltooien of terug te zetten. Zodra Kladblok is gesloten, gaat het batchbestand door met uitvoeren en wordt de systeemdatum ingesteld op de waarde die is opgeslagen in de tempdate-variabele, d.w.z. naar degene die was voordat het batchbestand werd uitgevoerd.

Vergeet niet dat als het pad naar het bestand waarin het programma wordt uitgevoerd spaties bevat, dit (het pad) tussen aanhalingstekens moet worden geplaatst. Als het pad Cyrillisch bevat, moet u bij het schrijven van een batchbestand een teksteditor gebruiken die DOS-codering ondersteunt (bijvoorbeeld FAR). Anders wordt er, wanneer u het batchbestand uitvoert, een bericht weergegeven waarin staat dat “het opgegeven bestand geen interne of externe opdracht is...”.

Als een programma de huidige systeemdatum alleen bij het opstarten controleert en dit tijdens het gebruik niet opnieuw doet, kan het batchbestand worden gewijzigd door een startinstructie toe te voegen vóór de naam van het uitvoerbare bestand van het programma, d.w.z. ons voorbeeld ziet er als volgt uit:

stel tempdate=%datum in:~-10%
datum 01-01-04
start kladblok.exe
datum %tempdate%

In dit geval zal het batchbestand de systeemdatum wijzigen, het programma starten en, zonder te wachten tot het voltooid is, de datum terugzetten naar de datum van vóór de lancering van het programma.

Hoe te wachten tot een specifiek bestand in een bat-bestand verschijnt

Soms is het nodig om een ​​actie te ondernemen wanneer een bepaald bestand in een map verschijnt. Om een ​​controle op de weergave van een bestand in een map te organiseren, kunt u het volgende batchbestand gebruiken

:test
indien aanwezig c:\1.txt ga naar ga
slapen 10
ga testen
:gaan
notitieblok

Zo'n batchbestand controleert met tussenpozen van 10 seconden op de aanwezigheid van bestand 1.txt in de root van de C-schijf en wanneer bestand 1.txt verschijnt, wordt de actie uitgevoerd die is opgegeven na het go-label, d.w.z. in dit voorbeeld wordt Kladblok gestart.
Het slaaphulpprogramma wordt gratis verspreid als onderdeel van de Resource Kit. Je kunt het hier downloaden.
Als het 1.txt-bestand groot is en ergens vandaan wordt gekopieerd, kan het voorkomen dat het batchbestand controleert op aanwezigheid terwijl het bestand nog niet is gekopieerd of bezig is met een andere applicatie. In dit geval zal het uitvoeren van bepaalde acties met het 1.txt-bestand resulteren in een fout. Om dit te voorkomen, kan het batchbestand als volgt worden gewijzigd

:test
indien aanwezig c:\1.txt ga naar ga
slapen 10
ga testen
:gaan
hernoem c:\1.txt 1.txt
zo niet foutniveau 0 ga naar go
del c:\1.txt

Wanneer het 1.txt-bestand niet volledig is gekopieerd naar station C, of ​​bezet is door een andere applicatie, zal een poging om de naam ervan te wijzigen een fout veroorzaken en zal de cyclus worden herhaald totdat het bestand volledig is gekopieerd of is vrijgegeven. Nadat de opdracht hernoemen c:\1.txt 1.txt zonder fout is uitgevoerd (dat wil zeggen dat het bestand gratis is), kunt u er alle acties mee uitvoeren. In het laatste voorbeeld wordt het verwijderd.

Opmerkingen toevoegen aan een bat-bestand

Bij het schrijven van een groot batchbestand is het erg handig om commentaar toe te voegen aan de hoofdblokken. Dit maakt het gemakkelijk om te begrijpen wat deze blokken in de loop van de tijd doen.

BAT-bestanden zijn tekstdocumenten met een speciale extensie. Er worden opdrachten in geschreven die vervolgens op de opdrachtregel kunnen worden uitgevoerd. Door het bestand uit te voeren activeert u het CMD-programma, het leest opdrachten die opeenvolgend worden uitgevoerd. Zo kunt u het werken met de opdrachtregel eenvoudiger maken terwijl u de gewenste volgorde behoudt. Natuurlijk kunt u alle opdrachten in één keer handmatig op de opdrachtregel invoeren, maar als u dezelfde bewerkingen moet herhalen, is het veel handiger om dit te doen door automatisch de lijst te lezen die is geschreven in de vorm van een bat-document. Deze optie is ook praktisch en handig omdat u vervolgens de volgorde kunt wijzigen, nieuwe processen kunt toevoegen die u nodig heeft en ook onnodige processen kunt verwijderen.

BAT helpt processen te automatiseren: programma's starten, archiveren, back-ups maken. Daarom is het handig om te weten hoe u zelf een bat-bestand kunt maken, corrigeren en aanvullen.

Werken met vleermuis met Kladblok

Creatie-algoritme

Het proces van het werken met Kladblok is helemaal niet ingewikkeld. Als je dit nog nooit eerder hebt gedaan, kun je dit prima aan door te leren hoe je een bat-bestand maakt en er opdrachten aan toevoegt. Laten we beginnen met de schepping. Volg hier strikt het algoritme:

  1. Wanneer u een tekstdocument maakt, krijgt u dit in eerste instantie met de txt-extensie. Er zijn verschillende manieren om deze handeling uit te voeren, sommige zijn afhankelijk van het Windows-niveau dat u hebt geïnstalleerd:
    • Klik in de map die u hebt gekozen met de rechtermuisknop op het veld, er wordt een menu geopend, daar selecteren we "Maken" - "Tekstdocument";
    • Start "Kladblok" via "Start" door "Alle programma's" - "Accessoires" - "Kladblok" te selecteren (voor Windows 7);
    • In latere (na 7) versies van Windows kunt u “Kladblok” ook openen via “Start”: ga door “Alle toepassingen”, vervolgens “Accessoires” - “Windows” en selecteer daar “Kladblok” uit de lijst;
    • Open het systeemopdrachtvenster met de combinatie Win + R, voer "notepad" in de regel in en klik op "Ok".
  2. Voer de opdrachttekst in. Om het te proberen, noteert u bijvoorbeeld "START taskmgr.exe" - start taakbeheer. “START” vertelt de opdrachtinterpreter dat een programma moet worden gestart, waarna het uitvoerbare bestand van het programma wordt aangegeven.
  3. Geef het pad op waar u het gemaakte document wilt opslaan.
  4. Specificeer in het opslagvenster:
    • in de regel "Type" - "Alle bestanden";
    • voer in de regel "Naam" de naam en extensie van bat in, voeg deze toe na de naam en plaats een punt tussen de naam en de extensie, bijvoorbeeld "file.bat".
  5. Klik op “Opslaan”.

Er verschijnt een batchbestand met de extensie .bat in de map die u hebt opgegeven.

Een bestand uitvoeren

Het is gemakkelijker om een ​​bat-bestand te openen door erop te dubbelklikken met de muis. De tweede methode is starten vanaf de opdrachtregel: voer het adres in waar het document met de .bat-extensie dat u hebt opgeslagen zich bevindt.

Bewerken

Als u het document wilt wijzigen - voeg opdrachten toe aan het bat-bestand, verwijder er enkele, voer een ander programma in om er later mee te werken - het is niet moeilijk om te doen. Open het document met een teksteditor. Het is handig om dit te doen door met de rechtermuisknop op het bat-bestand te klikken en 'Bewerken' te selecteren in het menu dat wordt geopend. Kladblok wordt gestart - daar kunt u opdrachten bewerken, inhoud wijzigen en toevoegingen maken.

Toepassing van Dr.Batcher

Voor een beginner die net met de opdrachtinterpreter begint te werken en deze vrij zelden gebruikt, is Kladblok voldoende. Als u een hoger professioneel niveau wilt bereiken, raden wij u aan het hulpprogramma Dr.Batcher te gebruiken. In Dr.Batcher kun je pagina's nummeren, er is ondersteuning voor bladwijzers, een lijst met systeemopdrachten die in bat worden gebruikt, ingevoerde opdrachten worden gemarkeerd.

Een document maken

Het algoritme is eenvoudig en vereist geen speciale vaardigheden of professionaliteit. Nadat u het hulpprogramma hebt gedownload, kunt u snel alles doen wat u nodig heeft.

Start Dr.Batcher.

  1. Open een nieuwe pagina: "Bestand" - "Nieuw" of klik op het lege bladpictogram onder het menu "Bestand".
  2. Klik in het dialoogvenster op “Leeg batchbestand”.
  3. Er verschijnt een programmavenster met functies voor het werken met bat.
  4. Nadat u de gewenste tekst heeft ingevoerd, slaat u deze op.

Bewerken

Als u een bat-bestand moet wijzigen, kunt u dit op verschillende manieren doen in Dr.Batcher:

  1. Klik met de rechtermuisknop op het pictogram en selecteer “Bewerken met Dr.Batcher” in het menu.
  2. Start Batcher. Open het gewenste bat-bestand door het pad te volgen:
  • "Bestand";
  • "Open";
  • geef het pad naar het document op;
  • "Open".

Nadat u een van de voorgestelde paden hebt gevolgd, opent u het hulpprogramma. Er verschijnt tekst in het venster waarin u aanpassingen kunt maken, opdrachten kunt wijzigen, aanvullen en onnodige kunt verwijderen.

Een bat-bestand is handig wanneer u taken in Windows moet automatiseren. Zeker als het nodig is om acties in een bepaald algoritme meerdere keren (periodiek of achter elkaar) uit te voeren. Dit is meestal nodig bij het maken van een directorysysteem, het bulksgewijs hernoemen van bestanden en andere eenvoudige en complexere bewerkingen. Nadat u de volgorde van de acties hebt opgeslagen, kunt u snel en zonder tijd te verspillen aan het handmatig invoeren van opdrachten op elk gewenst moment, het proces starten, het voor verschillende programma's herhalen en alleen hun naam in de voltooide tekst invoeren. De hierboven beschreven aanbevelingen voor het maken van een bat-bestand helpen u niet alleen om ze zelf te maken, maar ook om ze te bewerken.

Bat-bestanden worden meestal tekstbestanden genoemd en worden opgeslagen met de bat-extensie. Ze bevatten een lijst met opdrachten die onmiddellijk kunnen worden uitgevoerd door de interpreter command.com en cmd.exe. Deze tolken verschenen in het DOS-besturingssysteem, maar hebben hun relevantie voor XP en . Het meest voorkomende doel van batchbestanden is het vastleggen van specifieke routineopdrachten, waarvan de geleidelijke uitvoering u in staat stelt vaak herhaalde bewerkingen te voorkomen. Dit versnelt op zijn beurt de gegevensverwerking aanzienlijk.

Simpel gezegd is batch een batch-DOS-bestand dat een reeks DOS-opdrachten in ASCII-vorm bevat. Of eenvoudiger: het is een script dat wordt uitgevoerd door de interpreter command.com of cmd.exe.

In elk Windows-besturingssysteem kunt u dus alle bestanden of applicaties openen met behulp van het gemaakte bat-bestand. De voordelen van dergelijke bestanden zijn te zien in het voorbeeld van autoexec.bat, een van de batchbestanden. Aan het begin van het opstarten en initialiseren van het systeem, samen met de verwerking van config.sys, zal het besturingssysteem zoeken naar het bestand autoexec.bat in de hoofdmap van station C:, wat betekent dat het automatisch zal worden verwerkt zonder enige menselijke inspanning. Dit bestand is handig voor het plaatsen van de benodigde opdrachten om het systeem naar eigen inzicht te configureren.

Laat het me uitleggen: Na het lezen van dit artikel kunt u programma's schrijven die systeembestanden verwijderen, enz. Het belangrijkste is dat je hiervoor alleen een notitieblok en directe handen nodig hebt, er zijn geen compilers of debuggers nodig (de batches zijn niet zo primitief als je denkt, er zijn zelfs virusgeneratoren op geschreven).
En nog een ding. Ik zal niet alle mogelijke vlaggen (parameters) van elk commando beschrijven, alleen de meest bruikbare.

Bat-bestanden helpen ook bij het maken van Autoruns. Als uw autorun bijvoorbeeld is ontworpen als een webpagina, moet u de volgende regels in het Autorun.inf-bestand schrijven:
OPEN=\pad\bestandsnaam.bat en schrijf in het bat-bestand de volgende regels: start \pad\bestandsnaam.html
Allereerst wil ik meteen zeggen dat bestanden met de extensie bat, cmd, reg een brede toepassing en geweldige mogelijkheden hebben, hoewel ze niet langer in de mode zijn. Laat me in ieder geval zeggen dat de eerste twee hierboven genoemde extensies niets meer zijn dan gecompileerde DOS-commando's. Met behulp van deze opdrachten kunnen virussen gemakkelijk worden geschreven, vooral in bestanden met de extensie .reg (registerbestanden en, zoals u weet, slaat het register alle instellingen van het besturingssysteem op).

Ik zou willen opmerken dat technieken voor het schrijven van opdrachten in het Autoexec.bat-bestand in Windows 2000 en hoger niet altijd werken, omdat er in deze besturingssystemen bescherming op dit gebied is, maar door in een bestand met de extensie *.reg te schrijven het kan gemakkelijk worden verwijderd. Voor het geval dat u denkt dat er een virus op uw systeem actief is, drukt u op de Win+R-toetsen en typt u de opdracht in het dialoogvenster dat verschijnt msconfig, ga naar het tabblad Autorun en schakel de selectievakjes uit voor de actieve programma's die u "storen".

De volledige lijst met opdrachten in bat-bestanden kan worden bekeken door in de opdrachtregel “ hulp" Bat-bestandsopdrachten verschijnen, met een korte uitleg voor elk ervan. Om meer gedetailleerde informatie over de vereiste opdracht te verkrijgen, moet u in de opdrachtregel schrijven “ hulp" en de teamnaam.

Bat-mogelijkheden

Eenvoudige opdracht voor batchbestanden

echo off verbiedt de weergave van uitvoerbare opdrachten (aan - aan)
deltree /y %file% verwijder een bestand (/y betekent "zonder vragen verwijderen"). Werkt trouwens alleen in NT del(de vlag /y is niet nodig).
kopieer %pad\bestand%%waar\bestand% kopieer het bestand
mkdir %directory_name% map aanmaken
echo %text% geeft tekst op het scherm weer
echo %text% > %path\file% maak een bestand en voer er tekst in
echo %text% >> %path\file% voeg tekst toe aan een bestaand bestand
indien aanwezig %pad\bestand% %command% Als het bestand bestaat, voer dan de opdracht uit
attrib %attribute% %pad\bestand% bestandskenmerken instellen/verwijderen (+-h verborgen, +-s systeem, +-r alleen-lezen)
start %pad\bestand% startbestand
cls helder scherm
pauze geeft het bericht weer " Druk op een willekeurige knop..."
label %new_label% stel een nieuw label in voor de systeemschijf (station C)
formatteer %disk%: /q snelle schijfformattering:) Een paar seconden
ren %path\file%%new_file_name% hernoem het bestand
goto %label% spring van de ene plaats in de code naar een label

Moeilijke trucs van bat-bestanden en trucs

  • Vergelijkbaar met een timer (vertraagt ​​de uitvoering van volgende opdrachten gedurende n seconden)
    keuze /N /T:y,%sec% > nul
  • Verbiedt de weergave van het commando zelf en het resultaat van zijn actie (handig bij het commando "kopiëren"). Voorbeeld: kopieer c:\some.exe %windir%\some.exe > nul
    %opdracht% > nul
  • Voeg zonder vragen sleutels toe aan het register vanuit een bestand
    regedit /s %pad\bestand.reg%
  • Voer het bestand uit in een geminimaliseerd venster
    start /m /w %pad\bestand%
  • Heb je gehoord van het Autoexec.bat-bestand? Weet je dat het opstart met de computer? Waarschijnlijk wel. Het heeft dus de extensie BAT. Waar zinspeel ik op? Het feit dat je er een regel slimme code in kunt schrijven. Wat ik bedoel is dat elk script dat in dit bestand wordt ingevoegd, zal worden uitgevoerd wanneer de computer opstart. U kunt ook een winststart.bat-bestand maken in de Windows-map. Windows wordt ook gestart.
  • Dit geldt specifiek voor de Autoexec-functie. Als u bijvoorbeeld een bestand bijvoorbeeld “load.bat” (waarschijnlijk met slechte inhoud) in de map Windows\command plaatst en uw batchbestand laadt vanuit autoexec. En dit is nog steeds waardeloos. U kunt deze bestanden met deze regel laden : "load keybrd32.sys" of dit: "load VideoAdapter32.drv -- Door windows setup --". Het is onwaarschijnlijk dat een lama het risico loopt dergelijke regels te verwijderen, en uw bestand zal zonder enige problemen worden geladen.
  • Na het uitvoeren van dit script wordt de schijf met Windows en Program Files geregistreerd in de %drv% variabele
    indien aanwezig c:\Progra~1 set drv=c:
    indien aanwezig d:\Progra~1 stel drv=d in:
    indien aanwezig d:\Progra~1 stel drv=e in:
  • De variabele %windir% slaat de directory bij Windows op in de volgende vorm: drive:\directory_name. Voorbeeld:
    kopieer c:\some.exe %windir%\some.exe
  • Batchscripts houden niet van lange titels of titels van twee woorden. Lange letters worden ingekort tot 6 letters (ze moeten worden gevolgd door “~1”, bijvoorbeeld “Program Files -> Progra~1”). Het verwijdert eenvoudigweg spaties (The Bat -> TheBat~1).
    Wat ik bedoel is dat je in de bestanden naar de bestanden verwijst met hun DOS-naam. Voorbeeld:
    kopieer c:\some.exe c:\Progra~1\some.exe (het bestand wordt gekopieerd naar de map Program Files)
  • Dit script toont een Windows-venster (via JS) met uw bericht en een OK-knop
    echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js
    echo WSHShell.Popup("uw_tekst"); >> %temp%\mes.js
    start %temp%\mes.js
    deltree /y %temp%\mes.js

Tegenslag

Welnu, mijn beste kulhatzkers, dit is slechts het topje van de ijsberg. Ik verzeker je dat als je denken goed werkt, je allerlei dingen kunt doen. Je kunt VBS ook gebruiken in je tricks. Zelfuitpakkende RAR's zijn een ander verhaal. Met de juiste vaardigheid kun je dit allemaal combineren en straffen, straffen en nog eens straffen =)

In dit artikel zullen we kijken naar zoiets nuttigs als “ batchbestand" Laten we eerst definiëren wat een bat-bestand is. Batch- of batchbestanden zijn eenvoudige tekstbestanden die sets opdrachten bevatten ( instructies) tolk en met de extensie bat of cmd ( cmd werkt alleen in besturingssystemen uit de NT-familie). U kunt dergelijke bestanden maken en bewerken met een gewoon notitieblok of een andere teksteditor.

Nu vraag je je misschien af, waarom moet je zulke bat-bestanden kunnen schrijven? En waarom zijn ze nodig? Ik zal het proberen uit te leggen.

Ten eerste worden ze gebruikt om het werk te vergemakkelijken, d.w.z. u moet bijvoorbeeld elke dag voortdurend een bepaalde handeling uitvoeren ( Maak bijvoorbeeld een archief van bepaalde documenten), met behulp van een lichaamsdossier kan dit worden geautomatiseerd en neemt u er niet meer aan deel.

Ten tweede zijn deze batchbestanden erg krachtig ( als je natuurlijk weet hoe je ze moet schrijven), d.w.z. Je kunt zelfs een goed programma schrijven ( Ik bedoel qua functionaliteit). Persoonlijk helpen ze me veel bij mijn werk, en ik vergat gewoon sommige dingen toen ik het handmatig deed.

Laten we nu direct naar de basis van deze batchbestanden gaan. Hoe worden ze gemaakt? U hoeft alleen maar een eenvoudig tekstdocument te maken, het te openen en onmiddellijk naar het tabblad " te gaan Bestand->opslaan als", voer in plaats van de extensie " Tekstdocument.txt", Bijvoorbeeld " Tekstdocument.bat" en opslaan, dus we krijgen een batchbestand met de .bat-extensie, maar het doet nog niets.

Om te beginnen zal ik een voorbeeld geven van een batchbestand dat ik op mijn werk gebruik om documenten te archiveren.

"C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.doc "C:\Program Files\WinRAR\winrar. exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.xls "C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY -mm-dd E:\arhaccounts\ d:\accounts\*.txt

Nu zal ik je iets vertellen over wat dit batchbestand doet. WinRar start, waarna de Winrar-opdrachten volgen:

  • a - dit is om toe te voegen aan het archief;
  • -r - processubmappen;
  • -dh - gedeelde bestanden openen;
  • -ed - voeg geen lege mappen toe;
  • JJJJ-mm-dd - voeg de huidige datum toe aan de archiefnaam ( datumformaat);
  • E:\arhaccounts\ - pad waar het definitieve archief zich zal bevinden;
  • d:\accounts\*.doc - pad en masker van bestanden die moeten worden gearchiveerd.

In dit geval archiveren we alle Word-, Excel- en tekstbestanden; de rest hoeven we niet te archiveren. Onze archivering gaat naar een andere schijf en we kopiëren het resulterende archief ook naar een andere computer, zodat de archieven in een ander kantoor worden opgeslagen. Het kopiëren vindt plaats via het netwerk, dus de computer waarnaar het archief wordt gekopieerd, moet ingeschakeld zijn. Om dit te doen, kunt u het volgende commando gebruiken:

Kopieer E:\arhaccounts\*.rar \\namecomp\arhiv\

Voorbeelden van opdrachten voor bat-bestanden

Laten we nu eens kijken naar de basisopdrachten die u kunt gebruiken.

Als u een bestand wilt verwijderen, schrijft u het volgende:

Del d:\bestand\test.doc


Om de hele map te verwijderen, schrijft u:

Rd d:\bestand\

Als je elke keer alles uit een map moet verwijderen, gebruik dan dit:

Echo Y| del d:\bestand\

  • del d:\file\ - dit is precies het verwijderen van alle bestanden;
  • echo Y| - het commando bevestigt de verwijdering omdat Als u deze opdracht niet invoert, ziet u een bericht waarin de verwijdering wordt bevestigd - "Doorgaan", en moet u deze vraag elke keer beantwoorden.

Laten we nu eens kijken naar een ingewikkelder voorbeeld, waarin al aan de voorwaarde is voldaan:

@echo uit "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\test.rar d:\test INDIEN niet BESTAAT d:\test\123.rar GOTO 1 INDIEN BESTAAN d: \test\123.rar GOTO 2:2 "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\123.rar c:\ del d:\test\123.rar:1 del d:\test\test.rar einde

Nu zal ik het uitleggen, laten we zeggen dat je het test.rar-archief moet uitpakken, dat veel bestanden zal bevatten, maar als er een 123.rar-bestand is, moet het worden uitgepakt naar de hoofdmap van station C, en de de rest van de bestanden blijft onaangeroerd in dezelfde map.

Hiervoor is het commando @echo off nodig, zodat er niets op het scherm wordt weerspiegeld ( Kortom, als dat niet nodig is, kunt u deze regel achterwege laten). Vervolgens starten we Winrar en pakken we het test.rar-archief uit in de testmap. Dan komt de voorwaarde if in de testmap ( na het uitpakken van test.rar) we hebben het bestand 123.rar niet, dan voeren we eenvoudigweg het batchbestand uit en gaan naar regel: 1 en verwijderen dan eenvoudigweg het bestand test.rar omdat dit niet nodig is omdat We hebben alles wat we nodig hebben al uitgepakt. Maar als daar een bestand 123.rar staat, dan gaat de uitvoering van het batchbestand naar regel: 2, waarna het bestand 123.rar al is uitgepakt naar de root van schijf C. Met andere woorden, we hebben aan de voorwaarde voldaan , als er een bestand is, doe dit dan, als er geen bestand is, doe dit dan. Laten we zeggen dat als we de voorwaarde in dit voorbeeld niet specificeren, ons batchbestand een foutmelding zal geven als we het bestand 123.rar niet in deze map hebben.

Laten we nu eens naar dit voorbeeld kijken. Laten we zeggen dat u elke keer bestanden van een map op station D naar een flashstation moet verplaatsen. Elke keer dat u naar mijn computerstation D moet gaan, selecteert u de gewenste map, selecteert u alle bestanden ervan en knipt u deze, en gaat u vervolgens gewoon naar de flashdrive en plakt u deze. Met behulp van een bodyfile gebeurt dit in één klik ( met één voorwaarde dat elke keer dat de flashdrive bijvoorbeeld schijf G is of wat je ook hebt). Hier is een voorbeeld van zo’n batchbestand:

Verplaats "D:\catalog\*.doc" G:\catalognaflehe\

En alle bestanden met de doc-extensie die zich in de map D:\catalog bevinden, worden naar de flashdrive verplaatst. Nu wil ik zeggen dat je scripts in batchbestanden kunt gebruiken ( scripts) met behulp van Windows Scripting Host en indien nodig om bijvoorbeeld een bericht weer te geven nadat bestanden zijn gekopieerd ( vorig voorbeeld) plak dit:

Echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js echo WSHShell.Popup("Bestanden gekopieerd"); >> %temp%\mes.js start %temp%\mes.js deltree /y %temp%\mes.js

In feite kun je veel praten over het schrijven van batchbestanden en dit kan natuurlijk niet in één artikel worden gecombineerd. Hier liet ik alleen de principes zien die worden gebruikt bij het schrijven van bat-bestanden, de basis, om zo te zeggen; Als u meer opdrachten wilt weten voor het schrijven van batchbestanden, kunt u deze eenvoudig bekijken door ( Start - Uitvoeren – cmd) de help-opdracht, maar natuurlijk zijn niet alle opdrachten die in batchbestanden kunnen worden gebruikt aanwezig. Veel succes met het schrijven van BAT-bestanden ( body-overhemden).

Vervolg van het onderwerp in het artikel -

In dit artikel bekijken we twee manieren om een ​​bat-bestand te maken: met Explorer en met Kladblok. Dit is voldoende om nieuwe bat-bestanden te maken, maar laten we eerst beslissen waarvoor ze dienen. Simpel gezegd: het bat-bestand is nodig om een ​​reeks opdrachten één keer op te schrijven Windows-opdrachtregel en voer ze vervolgens op elk gewenst moment uit zonder elke keer te typen. Over het algemeen een ideale optie voor luie en/of systeembeheerders. =)

Ik zal meteen ter zake komen:

Methode één. Wij creëren bat-bestand V " Geleider»

Laat ik meteen een voorbehoud maken dat deze methode vereist dat dit zo is Weergave van bestandsextensies in Verkenner ingeschakeld. Dit is in veel gevallen handig en ik begrijp niet waarom deze functie standaard is uitgeschakeld in Windows.

We veranderen de extensie(wat staat er na de laatste punt) op .bat:

Nadat we op Enter hebben gedrukt, vraagt ​​Windows: “Na het wijzigen van de extensie is dit bestand mogelijk niet langer toegankelijk. De verandering doorvoeren?" Nou ja, natuurlijk “Ja”! Dit is precies wat we proberen te bereiken: verander de .txt-extensie naar .bat:

Voila! We hebben een “batchbestand” ontvangen, d.w.z. een uitvoerbaar bestand waarin u opdrachten kunt invoeren die worden uitgevoerd wanneer het start:

Methode twee. Wij creëren bat-bestand V " Kladblok»

Een bat-bestand maken met " Kladblok", nodig Kladblok openen(of een ander tekstbestand in Kladblok) en gebruik het menu " Bestand", optie "":

Er wordt een venster voor het opslaan van bestanden geopend. Het is belangrijk om rekening te houden met 2 zaken:

  1. « Bestandstype» moet worden weergegeven Alle bestanden (*.*)
  2. « Bestandsnaam" moet de extensie .bat hebben

We kijken waar we opslaan (om het later te vinden) en drukken op de knop “ Redden»:

Totaal:

Elk van deze methoden is zinvol als u beheerdersrechten heeft. Maar de eerste vereist aanvullende instellingen (die ik nog steeds aanbeveel om te wijzigen en toe te passen).