Job Control Language (JCL) to nazwa języków skryptowych używanych w systemach operacyjnych IBM mainframe. Instruuje on system, w jaki sposób uruchomić zadanie wsadowe lub uruchomić podsystem.

Celem JCL jest określenie, które programy mają być uruchamiane, przy użyciu jakich plików lub urządzeń wejściowych lub wyjściowych. Może on wskazywać, w jakich warunkach pominąć dany krok.

Istnieją dwa odrębne języki IBM Job Control:

  • jeden dla linii systemu operacyjnego, która zaczyna się od DOS/360 i której ostatnim członkiem jest z/VSE; oraz
  • drugi dla linii od OS/360 do z/OS, ten ostatni zawiera obecnie rozszerzenia JES, Job Entry Control Language (JECL).

Dzielą one pewne podstawowe zasady składni i kilka podstawowych pojęć, ale poza tym są bardzo różne.