Reading time: 3 minutes
Ar turėčiau išmokti Batch pradmenų?
Štai kur svarbus klausimas. Ar tikrai turėtum? Nors dauguma tam jau nebepritaria ir primygtinai rekomenduoja mokytis dirbti su PowerShell, bet manau, kad labai naudinga išmokti ir Batch pagrindus. Kodėl? Atsakymas į šį klausimą labai paprastas. Užduočių automatizavimas Windows aplinkoje.
Apie ką kalbu? Kas būtų, jei keletą reikalingų command line komandų galėtume sutalpinti į vieną vienintelę?
Pavyzdžiui, Hugo Ananke šablonas turi specifinį kintamąjį, kuris nurodo ar generavimo aplinka yra production - gamyba, ar development - vystymas
Taigi, pasigaminau remote.bat failą, kurio viduje glūdi
set HUGO_ENV=production & hugo & firebase deploy
Tai trys komandos:
- set HUGO_ENV - nurodo kintamojo reikšmę ir apibūdina darbo aplinką
- hugo - sugeneruoja puslapius
- firebase deploy - sukelia sugeneruotus puslapius į Firebase debesį
**Bet reikia nepamiršti ir to, kad norima pasižiūrėti kaip viskas atrodys savame kompiuteryje **
Tad pasigaminau local.bat failą, kuriame slypi
hugo server
O nauji įrašai?
Easy peasy. Pasigaminau atskirą failą pavadinimu newpost.bat
@echo off
echo "What's your post name?"
echo.
echo "Name your post"
echo.
set /p postname=
echo.
hugo new post/%postname%.md
typora content/post/%postname%.md
Jis paklausia kokį pavadinimą norėčiau sugeneruoti. Po šio žingsnio prideda md plėtinį, sukuria markdown failą ir atidaro Typora redaktorių redagavimui.
Visų sukurtųjų failų keliai įtraukti į sistemos aplinkos kintamuosius tam, jog vėliau juos būtų galima paleisti iš bet kurio Hugo projekto (kad ir kiek jų beturėčiau).
Pavyzdys:


Reikia įsidėmėti ir tai, kad visi įtraukti keliai turi būti atskirti kabliataškiu
;
Rezultatas
Dabar iki šiol problemų kėlusios užduotys jų jau nebekelia, o viena naudojama komanda su Visual Studio Code redaktoriu atstoja net keletą. Ar buvo galima viską padaryti kitaip? Žinoma! Bet kadangi žinias reikėjo pritaikyti praktiškai, tai buvo panaudotas Batch.
Išvados
Tai ar verta? Taip, išmokti Batch pagrindų tikrai verta. Ir ypač tada, kai nori automatizuoti tam tikras įgrįsusias užduotis Windows aplinkoje.
Visa pateikiama informacija - asmeninė autoriaus nuomonė. Kilus naiškumams rekomenduojama susisiekti elektroniniu paštu: admin@artefaktas.eu
Artefaktas.eu is licensed under CC BY-NC-ND 4.0