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.