Batch skripte

batch-skripte

Batch skripte

batch-skripte-clanak50a

Svako od nas je bar jednom za svojim računarom proveo izvesno vreme radeći poslove koji se ponavljaju – brisanje privremenih fajlova i foldera u Temp folderu, nedeljni backup snimljenih pozicija za neku od igara koju igramo, ili jednostavno kopiranje fotografija i video zapisa iz mobilnog telefona ili digitalnog foto-aparata. Iako se radi o jednostavnim zadacima, svaki od njih zahteva da provedemo neko vreme za računarom. Da bismo sebi uštedeli malo vremena, možemo da koristimo skripte.

Batch skripte su najčešće mali fajlovi koji u sebi sadrže jednu ili više komandi, kojima se izvršava neki konkretan zadatak (ili nekoliko povezanih zadataka). Recimo, kopiranje koje smo ranije pomenuli može da bude jedan od takvih zadataka. Pretpostavimo da u našem računaru postoje dva hard diska, C i D, i da su save fajlovi iz neke naše igre na C hard disku, odnosno, na adresi

batch-skripte-clanak50c

Pretpostavimo, dalje, da svake nedelje otvaramo taj folder (preko prečice na desktopu, ili preko Windows Explorera, ili preko programa poput Total Commandera), i da fajlove koji su u njemu kopiramo na D disk, i to na sledeću adresu:

batch-skripte-clanak50d

Šta sve moramo da uradimo da bismo uradili backup? Moramo da otvorimo oba foldera, da obeležimo sve što želimo da kopiramo, i zatim da to i prekopiramo na neki način (prevlačenje, desni klik, prečice na tastaturi). Međutim, postoji i jednostavniji način. Verovatno naslućujete da sve ovo možemo da uradimo i preko batch skripti, koje ćemo pokretati jednim klikom. Pa, da počnemo.

Otvorićemo Notepad, i kucati sledeću komandu (obratite pažnju da nije bitno da li vodimo računa o velikim i malim slovima):

batch-skripte-clanak50b

Šta znači ovo što smo kucali? Krenimo redom:

  • xcopy je komanda kojom započinjemo kopiranje fajlova
  • prva putanja (podvučena crvenom bojom) je izvorna putanja, odnosno adresa fajlova koje želimo da prekopiramo. Da smo kopirali nešto drugo (recimo, fotografije), i putanja bi bila drugačija.
  • druga putanja (podvučena plavom bojom) je odredište onoga što kopiramo, odnosno adresa na koju želimo da prekopiramo fajlove. Kao i kod izvorne putanje, da smo kopirali nešto drugo, i ova putanja bi bila drugačija
  • s – opcija kojom označavamo da osim fajlova, želimo da kopiramo i foldere i pod-foldere, ako ih ima. Recimo, naša igra možda pravi save fajlove tako da ne postoji samo jedan fajl, već više njih, i to tako da su raspoređeni po različitim folderima
  • h – opcija kojom označavamo da želimo da kopiramo skrivene i sistemske fajlove i foldere, ako ih ima. Ovo radimo, zato što naša igra može da sa save fajlovima da pravi i neke skrivene fajlove, bez kojih bi ostali fajlovi bili beskorisni
  • w – skripta će čekati da pritisnemo neki taster, da bi započelo kopiranje. Ukoliko ne želite ovo potvrđivanje, možete da izostavite kucanje ove opcije
  • -y – skripta će nas svaki put pitati da li želimo da prekopiramo fajl koji već postoji u backup folderu. Ukoliko želite da svaki put kopirate fajlove bez potvrde, i ovo možete da izostavite
  • i – skripta će napraviti sve foldere koji nedostaju tamo gde ih kopiramo
  • pause – skripta će, pošto završi sa kopiranjem, čekati da pritisnemo neki taster, da bi se završila

 

Pošto smo uneli ovu komandu, sačuvaćemo fajl u kome radimo, i nazvaćemo ga, na primer, backup.bat. Fajl možete da imenujete kako god hoćete, ali obavezno morate da mu dodelite .bat ekstenziju. Predlažemo da fajl sačuvate na desktopu, kako biste jednostavnije mogli da ga pronađete i testirate.

Kada sačuvamo fajl, zatvorićemo Notepad, a zatim ćemo da pronađemo skriptu koju smo napravili, i da je pokrenemo duplim klikom.

Videćemo da skripta radi onako kako smo i očekivali – tražiće od nas da pritisnemo bilo koji taster na tastaturi da bi se pokrenula, obaviće kopiranje, i na kraju će da čeka da pritisnemo bilo koji taster, da bi se završila. Neko će možda reći da ovo i nije nešto naročito, ali zamislite da često morate da kopirate fajlove iz istih foldera u iste (neke druge) foldere, i da takvih pojedinačnih zadataka ima mnogo. Ovako možete sve da ih smestite u jedan fajl, i da ih obavite jednim klikom. Poprilično zgodno, zar ne? :)