Inhoudsopgave
In een eerdere tutorial presenteerde ik de basisdetails van het maken van een batch-opdrachtbestand (Batch). In deze tutorial ga ik verder met enkele details van het programmeren van batchbestanden.Niet altijd is alles wat u in uw batchbestand schrijft met de bedoeling een opdracht uit te voeren, soms wilt u extra regels toevoegen als informatie voor de persoon die het bestand in de toekomst zal gebruiken of bewerken. Hiervoor zijn opmerkingen.
Om een opmerking aan uw Bacth-bestand toe te voegen, hoeft u alleen maar de regel te schrijven die wordt voorafgegaan door twee 2-punts tekens.
:: Dit is een opmerking die niet in het programma wordt uitgevoerd
Bovendien kunt u de opdracht "REM" gebruiken, wat in wezen een programma is dat parameters accepteert (dit zijn de waarden die u achter de opdracht plaatst) maar absoluut niets doet. Het is eigenlijk een leeg commando.
REM Dit is nog een opmerking die niets uitvoert
Het grote verschil tussen het eerste en tweede voorbeeld is dat "REM" nog steeds een commando is en daarom, als je het afdrukken van de commando's niet eerder hebt gedeactiveerd (met het "echo off" commando), wordt dit weergegeven in de commandoregel het bericht “REM-commentaar”.
In opdrachtbatchbestanden kunt u variabelen maken die u later in het proces kunt gebruiken. Stel dat u wilt vragen naar de naam van de map die u gaat kopiëren en dat u deze vervolgens naar een back-upmap op uw computer en naar een back-upmap op het netwerk gaat kopiëren. Aangezien dit 2 verschillende opdrachten zou vereisen (elk met de map doorgegeven door parameter en de doelmap) en we de gebruiker niet gaan vragen om het mappad voor elke kopie op te geven, is het meest geschikte om het mappad op te slaan in een variabele en gebruik het dan in de 2 commando's.
In Batch-taal worden variabelen toegewezen met het trefwoord "SET", vervolgens de naam die u aan de variabele wilt geven, het gelijkteken (=) en de waarde. Houd er rekening mee dat u GEEN SPATIES KUNT LATEN tussen de variabele, de gelijke en de waarde.
SET copypath = C: \ Users \ Manuel \ Documents
Om vervolgens van de variabele gebruik te maken, moet u de naam tussen percentages (%%) zetten en deze wordt direct in het programma ingevoerd.
SET copypath = C: \ Users \ Manuel \ Documents mkdir% copypath% \ CosasRaras
Als je het opmerkt, vervangt de tekst die je hebt ingevoerd de tekst tussen percentages en wordt uitgevoerd in lijn met de rest van het bestand, dat wil zeggen, je zou om een opdracht kunnen vragen en deze in het uitvoeringsproces kunnen gebruiken (wat niet wordt aanbevolen).
SET / p commando = voer het commando in dat je wilt:% commando%
Zoals je in dit voorbeeld zult opmerken, gebruiken we om de gebruiker te vragen een waarde in een parameter te plaatsen de "/ p" optie van het SET-commando, waarmee we hem vertellen om de variabele gelijk te maken aan wat de gebruiker invoert via de tekst regel na het lezen van ons bericht. Ondanks het feit dat de kenmerken van deze tutorial het niet laten zien, heb ik een spatie achtergelaten na de 2 punten, zodat deze spatie bestaat op het moment dat de opdracht wordt ingevoerd, anders zou wat je zou schrijven worden gelijmd naar de 2 punten.
Door de structuur van het vorige voorbeeld kan de gebruiker (of moet als hij geen foutmelding wil ontvangen) een commando invoeren dat direct in de batch moet worden uitgevoerd. Als u "ipconfig" invoert (zonder de aanhalingstekens), is het resultaat de lijst met netwerkkenmerken die wordt weergegeven wanneer u die opdracht invoert.
Hieronder presenteer ik een reeks commando's in Batch die als voorbeeld dienen van alles wat we tot nu toe hebben gezien. Dit proces maakt een map met de naam "Zeldzame dingen" aan in de map "Documenten" van de gebruiker die u als parameter doorgeeft, zorg ervoor dat u deze verwijdert zodra deze is uitgevoerd.
echo Hallo allemaal set / p valornulo = Deze waarde kan zijn wat je wilt: :: wanneer ik op deze manier commentaar wil geven … REM men merkt niet eens aaaaaa titel de bom pauze cls echo uit echo alles is verwijderd omdat Ik heb het commando cls echo gebruikt, maar ik kan deze waarde tonen% nullVALUE% pause set / p cmd = stel je nu voor dat ik een commando wil uitvoeren:% cmd% set / p user = schrijf nu een willekeurige gebruiker: SET copypath = C: \ Users \% user% \ Documents mkdir% copypath% \ Rare Things echo na de vorige pauze druk op een willekeurige toets om door te gaan… pause> nul
In dit voorbeeld heb ik het commando "mkdir" geplaatst waarmee mappen binnen je systeem worden gemaakt en ik heb het commando "pause" gebruikt dat we in de vorige tutorial zagen, maar ik heb aan het einde "> nul" toegevoegd, wat aangeeft dat het gaat pauzeren maar het bericht zal leeg zijn. Het is om deze reden dat ik voordat ik het echo-commando plaatste met het bericht dat ik wilde weergeven.
Dit zijn slechts enkele van de details over het maken van batchbestanden in Windows. Ik hoop dat het helpt. In toekomstige tutorials zullen we zien hoe de cycli en conditionals worden gedaan. Tot de volgende keer!Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een positief punt te geven