Akik nem csak a startlapjátékok miatt tartanak otthon számítógépet már biztos találkoztak a címben említett fájltípussal. A kiterjesztése .bat. Ikertestvére a Windows NT kötegfájl, a .cmd. Kettő között az az egyetlen különbség, hogy az igazi DOS az NT kötegfájlt nem ismeri fel.
Megnyitva a fájlt egy DOS-os időket idéző ablak jön fel és néha gyorsan kiír valami szöveget, parancsokat hajt végre és néha ezekután egyszerűen eltűnik, néha a usertől kér valamin interakciót. Ilyenkor gyakran megijedünk, megnyomjuk a jobb felső sarokban az X-et és imádkozunk, hogy nem kell elővenni a windows install cédét.
Pedig nem kell megijedni, nem olyan veszélyes dolog ez. Rengeteg helyen lehet könnyen és egyszerűen alkalmazni. A cmd.exe-t mindenki ismeri. Sok helyen kell azt csinálni hogy Start>Futtatás>Cmd és aztán valamilyen parancs, pl. ipconfig
.
Ha a cmd.exe-t ismered, tudod használni akkor már többet tudsz batch programokról, mint gondolnád. A bat és cmd fájlok a batch programok. Lényegük, hogy olyan parancsokat tartalmaznak, amelyeket a cmd.exe ismer és azokat szépen sorrendben végrehajtja.
Hogy ez mikor jó? Hát ha például egy sokszor ismételt számítógépes műveletet akarsz végrehajtani gyorsan és egyszerűen. Például az ip-címedet gyakran a már említett ipconfig
paranccsal kell lekérdezned. Hát nem egyszerűbb az, hogy megnyitsz egy fájlt, az megmondja az ip-címed és kész?
És nem is olyan bonyolult, mint mondjuk egy igazi program írása. A fent említett ipcímmegmondó program így néz ki:
rem IP-cim megmondo progi @echo off ipconfig echo A bezarashoz uss egy [Enter]-t pause >nul
Most megmagyarázom, hogy mi mit jelent a fenti programban. Minden sor egy-egy parancs. Új sor, új parancs, ott hátul Pistike is érti, oké.
rem IP-cím megmondó progi
— Nem csinál semmit. Ez csak egy megjegyzés a programban. Minden olyan programsor, ami azzal kezdődik, hogyrem
, az megjegyzés, nem fogja feldolgozni a program. Ha azt akarod, hogy meg se jelenjen a konzolban a megjegyzés akkor a következőket teheted:rem
helyett két kettőspontot (::
) írsz, vagy csak azecho off
[2. pontban elmagyarázva] után írod a megjegyés[eke]t.@echo off
— Általában minden batch programunkat ezzel kezdjük. Azecho off
kikapcsolja azt a funkciót, hogy maga a parancs megjelenjen a konzolablakban. Így csak az jelenik meg, amit a parancs ír ki oda.
A@
-ot arra használjuk, hogy csak a kukacot követő parancs ne jelenjen meg a konzolban. A többi parancsra nem vonatkozik, nem úgy mint azecho off
. Azecho off
elé azért kell tenni, hogy ne jelenjen meg azecho off
parancs maga.
Ha újból be akarjuk kapcsolni a parancsok megjelenítését, akkor azecho on
parancsot írjuk.ipconfig
— Ez ugyanaz a parancs, amit a cmd.exébe magunk szoktunk beírni és ugyanazt is csinálja: megjeleníti a számítógép ip-konfogurációját — megjegyzem minden parancs ilyen. Manuálisan és kötegfájlban is ugyanúgy használható.echo A bezarashoz uss egy [Enter]-t
— Kiírjuk a konzolablakba, hogy “A bezarashoz uss egy entert”. És nem azért mellékeljük az ékezeteket, mert az cool, hanem mert a cmd.exe nem szereti az ækezetes bet¿ket.pause >nul
—Pause
: megmondjuk a konzolnak, hogy várjon amíg a felhasználó megnyom egy billentyűt, pl entert üt. A>nul
rész pedig azt jelenti, hogy nem írja ki, hogy “A folytatáshoz nyomjon meg egy billentyűt…”, hiszen azt mi már megtettük.
A fenti programot most másold át a jegyzettömbbe, vagy kedvenc szövegszerkesztődbe ha még nem tetted, és mentsd el ip.bat néven. Vigyázz, hogy ha mented, akkor válaszd a Minden fájl opciót, hogy ne sima szövegfájlként, hanem kötegfájlként mentse. Utáni pedig simán duplakattal nyisd meg a fájlt. És voilà, működik. Bármikor, amikor kell az ip-címed akkor megnyitod ezt a fájlt és nirvana van.
És ez még csak a jéghegy csúcsa. Ennél sokkal több, hasznosabb, összetettebb programokat is lehet csinálni csak kreatívnak kell lenni. Aztán kedvenc kötegfájljainkat bármely windowsos gépen használhatjuk, hordozhatjuk magunkkal. Apropó, hordozhatjuk magunkkal; én kifejezettem a hordozható programok miatt kezdtem el érdeklődni e fájlok iránt. Történt ugyanis, hogy a hordozható programokat így installáltam: D:Portable AppsProgram mappájaProgramPortable.exe. Mivel erényem a lustaság ezért fog az apád kattingatni a Windows Intézőben, csak hogy megtaláljam a mappát, benne a programot amit el akarok indítani. A programokat és fájljaikat, mappáikat nem rakhatom közvetlenül a D:-re mert hogy nézne már az ki, ellenben parancsikont sem hozhatok létre, mivel a parancsikonban az van benne, hogy indíccsa el a D:Portable Apps… programot. De azt meg nem lehet, mert a meghajtó betűjele — ami most éppen D: — az minden számítógépen más. És itt jött képbe a bat fájl, ami többek között programokat is el tud indítani meghajtóbetűre való tekintet nélkül, feltéve hogy egyazon meghajtónvan az indítandó program és a kötegfájl. A Notepad++ indítója pl. így néz ki:
cd "Portable AppsNotePadPlusPlus" start "Notepad++" "Notepad++Portable.exe" %1 %2 %3 exit
Ez sincs egy kilobyte:
cd "Portable AppsNotepadPlusPlus"
— Az aktuális mappát (ami a bat fájl helye) arra módosítjuk, hogy"Portable AppsNotePadPlusPlus"
Az idézőjel azért kell köré, mert szóközt tartalmaz az elérési útvonal.start "Notepad++" "Notepad++.exe" %1 %2 %3
— Elindítjuk “Notepad++” címmel a “Notepad++.exe” programot — ami abban a mappában van ahová az előző parancs által navigáltunk — átadva neki az 1-es, 2-es és 3-as paramétert. A paraméterek azok az adatok, amiket egy program indításnál megkap. (Ha egy fájlt megnyitunk akkor a szerkesztőprogram is paraméterként kapja meg a fájlnevet. Majd a fájlt megnyitja.)exit
— Kilépünk a dos-os ablakból. A Notepad++-ból nem, az ettől függetlenül fut.
A fent felsoroltakon kívül még rengeteg dolgot lehet csinálni a kötegfájlokkal, én csak pár fontosabb dolgot sorolok fel, különben kifogynék a honlapomon biztosított tárhelyből.
- Programok indítása
- Más kötegfájlok indítása
- Fájlok módosítása
- Windows beállítások módosítása
- Fájlok törlése
- Számítógép karbantartása
- Rendszerleíró-adatbázis megtekintése/módosítás
- Fájltípusok programhoz rendelése
- Fájltitkosítás
- Parancs végrehajtása csak bizonyos kondíciók esetén
- Parancs ismétlése sorozatban
- Nyomtatás
- Futó programok manipulálása
- …
Tehát csak a kreativitásunk szab határokat. Most belinkelek bár hasznos dolgot:
- Az angol Wikipédia cikke a kötegfájlokról
- A Microsoft referenciatáblázata a funkciókról (Win XP)
- A microsoft referenciatáblázata a parancsokról (A-Z)
- Másik hasznos honlap a funkciókkal kapcsolatban (ss64.com)
- Wikibooks bevezető a Windows parancsokba (Azok a parancsok érhetők el alapból, ahol szerepel a parancs neve alatt dőltbetűvel: Microsoft)
- Computer Hope batch egyszerűsített kézikönyv
- DOS parancsok listája az angol Wikipédiában
- Google: Bat files
Még egy emlékeztető: a parancsokat ugyanúgy használhatod kötegfájlba ültetve, mint amikor magad gépeled be a cmd.exébe. Használd egészséggel.