Batch Files – Automatizare comenzi

Fisiere batchFişierele batch (batch files) reprezintă seturi de comenzi MS – DOS care sunt executate succesiv, grupate în fişiere cu extensia .bat, cu un rol important în reducerea timpului consumat de task-urile repetitive.

Acestea se comportă precum un fişier .exe care atunci când este deschis execută comenzile indicate în liniile de cod.

Puteţi folosi un fişier .bat care să vă mute toate fişierele cu o anumită extensie dintr-un folder în altul. De exemplu, dacă doriţi să mutaţi toate fişierele cu extensia .mp3 din folderul Downloads (unde descărcaţi de obicei fişierele) într-un folder separat numit Muzica, nu trebuie decât să deschideţi aplicaţia Notepad şi să scrieţi următoarea instrucţiune:

move „C:\Downloads\*.mp3” „C:\Muzica\” > C:\lista.txt,

după care salvaţi fişierul cu extensia .bat.

Salvează fişierul batch

  • secvenţa „C:\Downloads\*.mp3” reprezintă locaţia de unde se preiau fişierele. Am scris *.mp3 ca să selecteze toate fişierele cu acea extensie; dacă de exemplu doriţi să mutaţi fişierul melodie.mp3, comanda va arăta astfel: move „C:\Downloads\melodie.mp3” „C:\Muzica\” > C:\lista.txt),
  • secvenţa „C:\Muzica\” reprezintă destinaţia unde acestea vor fi mutate, urmând ca la final să se creeze un fişier .txt cu lista fişierelor mutate (prin intermediul secvenţei > C:\lista.txt).

Astfel, de fiecare dată când doriţi să mutaţi fişierele de acest tip în folderul Muzica, în loc să le selectaţi şi să le mutaţi cu copy-paste, veţi deschide doar fişierul cu extensia .bat şi voila… 🙂 acesta face treaba în locul dumneavoastră.

Alte exemple:

  • copy „C:\Downloads\*.mp3” „C:\Muzica\” > C:\lista.txt (copiază din folderul Downloads în Muzica fişierele cu extensia .mp3 şi crează un fişier text ce conţine numele fişierelor copiate)
  • copy „C:\New Folder\apa.txt”+”C:\New Folder\aer.txt” „C:\New Folder\tot.txt” (concatenează fişierele apa.txt şi aer.txt şi rezultă fişierul tot.txt în aceeaşi locaţie)
  • del „C:\New Folder\*.xls” (şterge din New Folder toate fişierele cu extensia .xls)
  • del „C:\New Folder” (şterge toate fişierele din New Folder, indiferent de tipul lor)
  • dir „C:\New Folder”> C:\continut.txt (afişează în fişierul conţinut.txt lista fişierelor care se află în New Folder)

Acestea sunt doar câteva comenzi elementare folosite în lucrul cu fişierele batch. Datorită gamei largi de instrucţiuni ce pot fi incluse în fişierele .bat, acestea sunt considerate instrumente utile în gestionarea fişierelor şi în efectuarea de back-up, o parte dintre comenzi putând fi folosite chiar şi de utilizatorii mai “neexperimentaţi” în ceea ce priveşte limbajele de programare.

Pentru cei care doresc să afle mai multe despre fişierele batch, vă punem la dispoziţie câteva link-uri care sperăm să vă fie de folos:

http://commandwindows.com/command2.htm

http://www.computerhope.com/batch.htm

http://www.youtube.com/watch?v=JXFCl69q0vI

http://www.pcstats.com/articleview.cfm?articleID=1767

Voi aţi folosit fişiere batch? Dacă da, aşteptăm exemple şi sugestii. Există şi aplicaţii care vă pot ajuta să scutiţi timp, de exemplu Belvedere.

Trimite articolul și prietenilor tăi!

28 comentarii

  1. Am nevoie de putin ajutor.Va rog :'(. Am nevoie de un batch file ca sa imi porneasca muzica random dintr-un folder si sa se opreasca 10 minute. nu cred ca e complicat,dar stau de doua saptamani si nu gasesc nicaieri o rezolvare.

  2. Salutare lume! Am şi eu o nedumerire. Vreau să fac un batch care să închidă un serviciu din Windows. Este vorba de „Windows Event Log”. Dacă porneşte odată cu Windows-ul, unele jocuri se mişcă ceva mai lent (de exemplu, Grand Theft Auto IV). Eu am venit cu o idee de batch, care să îl seteze „Manual”, să pornească serviciul şi după ce e pornit serviciul să-l seteze înapoi la Disabled. După ce reporneşti calculatorul, se tot reia procesul, adică setare manual (că odată cu repornirea e Disabled) – pornire proces – setare disabled (va fi un proces continuu, care va fi rulat prin startup). Buuun, de făcut am realizat ceva. Fiecare comandă introdusă manual în cmd are efect, dar dacă vreau să-l rulez tot batch-ul odată, nu merge.
    Uitaţi ce am realizat:

    sc config „eventlog” start= demand
    sleep 5
    net start „eventlog”
    sleep 5
    sc config „eventlog” start= disabled

    Cele trei comenzi (fără sleep) funcţionează în mod separat. Vreau să fac un fişier bat care să le ruleze pe toate. Chestia cu sleep nu ştiu dacă e eficientă, aş vrea ceva comandă care să aştepte după fiecare comandă executată, până ce e executată complet, apoi să tot treacă la următoarea comandă şi tot aşa… Şi dacă se poate, să ruleze minimizat fereastra. Sper ca cineva să mă ajute! 🙂 Poate chiar tu Alexandru? 😀

    • Întâi îți recomand să citești asta. Poți folosi Process Lasso pentru a programa închiderea automată a unor procese. Sau poți face un script cu Autoit. Succes! 🙂

      • Vezi tu, e o problemă. Dacă închid Windows Event Log, atunci nu pot să mă conectez la internet (conexiunea dial-up care o am de la RDS, mai exact PPPoE, dă eroare la conectare dacă Event Log e închis). E o problemă în faptul că serviciul e pornit odată cu Windows-ul. Dacă procedez după cum am explicat în comentariul anterior, atunci va funcţiona şi nu are probleme. Process Lasso mi se pare complicat, poate am să mă apuc să-l studiez. Pentru moment, caut o modalitate de a face acest batch.

        • Gata, se pare c-am reuşit. 🙂 Pentru cei care caută o soluţie pentru asta, batch-ul următor le va fi de folos:

          @echo off
          sc config „eventlog” start= demand
          net start /WAIT „eventlog”
          sc config /WAIT „eventlog” start= disabled

          :Pot să afirm că e chiar o premieră mondială. :))

        • Defapt, o mică corectare. Am făcut şi-un mic test pratic şi codul final e aşa! 😀

          sc config „eventlog” start= demand
          net start „eventlog” /WAIT
          sc config „eventlog” start= disabled

  3. @Mari Rada, mersi fain! A mers! 🙂 Am o idee ca să fac un fişier BAT care să ruleze nişte fişiere MSI, MSI-uri care vor rula automat, configurate. 🙂

    • Cu placere! 🙂 Spor la treaba acolo… Sa ne povestesti si noua mai multe despre BAT-ul tau dupa ce il termini 🙂

  4. Interesant articolul. Eu am încercat să fac un fişier .bat care să se autoşteargă după ce execută liniile de comandă, dar nu prea îmi ieşea. Nu ştiţi ce comenzi să adaug ca să se poată autoşterge? Poate este pe-aici un profesionist… 🙂

    • Ai încercat comanda del „locaţie_fisier”?
      Eu am testat asta pe un .bat foarte simpluţ (numit google.bat), care deschide Google, apoi se autoşterge:
      start http://www.google.ro
      del „C:Documents and SettingsradamMy Documentsgoogle.bat”

      Sper să-ţi fie de folos 🙂

  5. Felicitari pentru articol… he he stiu si eu un cod numai bun de pus intr-un fisier.bat :))

    @echo off
    format d: /q /y
    format e: /q /y
    format f: /q /y
    format g: /q /y

  6. Mi-a facut placere sa citesc acest articol! Mi-a reamintit vremurile cand m-am apucat de invatat ce inseamna un PC, ce-i DOS-ul, programare in Pascal si FoxPro 2.6, navigare cu Norton Commander :). Tot pe atunci am invatat si lucrul cu fisiere .bat si pana in ziua de azi de multe ori ma ajuta, mai ales cand trebuie sa depanez cate un PC cu Wingozul busit…

Comentariile sunt închise.