Fail kelompok

Dalam MS-DOS, OS/2 dan Windows, **fail kelompok** ('''BI''': *batch file*) adalah fail teks yang mengandungi beberapa arahan di dalamnya bertujuan untuk dilakukan oleh pentafsir perintah. Teks yang mengadungi arahan tersebut disimpan dengan sambungan fail '`.bat`'.

## Simbol-simbol

## Perintah dalam fail kelompok
### echo
**echo** akan mencetak perkataan-perkataan selepasnya (yang dipisahkan dengan ruang kosong).
Selalunya pada permulaan fail batch akan diletakkan `@echo off`. Tujuannya adalah untuk mengelakkan arahan-arahan dalam fail batch tersebut daripada dicetak pada cangkerang.
Contoh penggunaan:
   @echo off
   echo kata1 kata2 kata3 ... kataN
Arahan di atas akan mencetak `kata1` hingga kataN sehinggalah barisan baru dibuat.

### rem
**rem** sebenarnya hanyalah bertujuan untuk menulis komen. Singkatan untuk perkataan Inggeris **''rem**ark*. Baris ayat yang telah dipisahkan dengan ruang kosong selepas <code>rem</code> adalah komen (perkataan pertama hingga hujung baris).<br />
Contoh penggunaan:
   @echo off 
   rem komen1 komen2 komen3 ... komenN
Tiada apa-apa hasilan yang akan dipaparkan dengan arahan ini kerana ia hanyalah komen yang tersembunyi. Namun, sekiranya <code>@echo off</code> tidak ditulis atau menulis <code>@echo on</code> pada permulaan fail, cetakan berikut akan terhasil:
   rem komen1 komen2 komen3 ... komenN

=== Kenyataan goto ===
*'goto** mempunyai fungsi yang sesuai dengan maksudnya iaitu "pergi kepada". Kenyataan ini ditulis kemudian diikuti dengan nama label. Label boleh diletak di mana-mana yang perlu (mengikut masalah), <code>goto</code> akan menunjuk untuk pergi kepada label tersebut lalu melakukan perintah yang datang selepas nama label tersebut.<br />
Contoh penggunaan:
   goto namaLabel
   :namaLabel
   rem beberapa arahan.

=== Kenyataan call ===
**call** digunakan untuk memanggil tatacara-tatacara tertentu. Simbol <code>:</code> ditulis selepas kenyataan ini bagi mununjuk nama tatacara.<br />
Contoh penggunaan:
   call:TATACARA
   rem beberapa arahan di sini.
   goto:EOF<br /> 
   :TATACARA
   rem beberapa arahan untuk tatacara ini.
   goto:EOF
Kenyataan <code>goto:EOF</code> bermaksud "pergi kepada penamat fail".

== Pengulangan ==
Pengulangan (''looping'') adalah satu tindakan mengulang sesuatu arahan. Dalam pengulangan, kenyataan <code>goto</code> digunakan. Penulisannya adalah seperti berikut:
   :ulang
   rem arahan-arahan akan diletakkan di sini.
   goto ulang

== Tatacara ==
**Tatacara** adalah sama seperti fungsi dalam [[C]] atau [[C++]]. Ia mengandungi beberapa arahan di dalamnya. Berikut adalah contoh tatacara dan pemanggilannya ke induk:
  @echo off
  rem *********Induk
  call:CETAK_INDAH_DUNIA
  goto:EOF<br /><br />
  rem *********mula tatacara CETAK_INDAH_DUNIA
  :CETAK_INDAH_DUNIA
  echo Indahnya Dunia.
  goto:EOF

== Contoh ==
* **Indahnya Dunia**
  @echo off
  echo Indahnya dunia

* **Pemasa**
  @echo off
  set x=1
  :ulang
  if "%x%"=="6000" goto:EOF
  set /a x+=1
  goto ulang

== Lihat juga ==
* [[Cangkerang (pengkomputeran)|Cangkerang]]
* [[cmd.exe|cmdFX.exe]]
* [[Bahasa pengaturcaraan C|Bahasa C]]

== Pautan luar ==
* **(Inggeris)** [http://www.aumha.org/a/batches.php Arahan-arahan fail kelompok]
* **(Inggeris)''' Microsoft XP-Batch files