批处理文件(英語:Batch file),又称批次档,在DOS、OS/2、微软视窗系统中,是一种用来当成脚本语言运作程序的文件。它本身是文本文件,其中包含了一系列让具备命令行界面的解释器读取并运行的指令。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。它相当于是类Unix系统下的Shell script。
在DOS及Windows 9x操作系统家族中,批处理文件的文件扩展名为.bat。在OS/2及Windows NT操作系统家族,批处理文件的文件扩展名为.cmd。当运行批处理文件时,shell程序(通常是COMMAND.COM或cmd.exe)会读取文件内容,之后通常是以逐行的方式,运行它的命令。其最简单的例子,是逐行书写在命令行中会用到的各种命令。也可以在批处理文件后面加上更多种类的参数。更复杂的情况,需要使用if、for、goto、choice等命令控制程序的运行过程,如同C语言、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。
有些人认为批处理语言的含义要比上面的描述更广泛,还包括许多软件自带的批处理语言,如 Microsoft Office、Visual Studio、Adobe Photoshop 所内置的批处理语言的功能,用户可通过它们让相应的软件执行自动化操作(例如调整某个资料夹所有 PSD 图档的分辨率)。 而这类批处理语言也大多提供把一系列操作录制为批处理文件的功能,这样用户不必写程序就能得到批处理程序。