.bat
文件(批处理文件)是 Windows 系统中用于自动化执行一系列命令的脚本文件。下面是一些 .bat
文件的基本语法和常用命令:
1. 注释
-
使用
REM
命令或@echo off
后面的行(在@echo off
生效的情况下)来添加注释。注释不会被执行,仅用于说明。REM 这是一个注释 @echo off :: 这也是一个注释,但在 @echo off 模式下有效
2. 变量
-
批处理文件支持简单的变量,使用
%变量名%
来引用变量。SET VAR=Hello ECHO %VAR%
3. 条件语句
-
使用
IF
命令进行条件判断。IF "%VAR%"=="Hello" ( ECHO Variable is Hello ) ELSE ( ECHO Variable is not Hello )
4. 循环
-
使用
FOR
命令进行循环。FOR %%i IN (1 2 3) DO ECHO %%i
对于文件或目录的循环:
FOR %%f IN (*.txt) DO ECHO %%f
5. 调用外部命令和程序
-
使用
start
命令来启动一个外部程序或命令,并可以指定新的窗口。start notepad.exe start https://www.example.com
-
直接调用命令或程序(不启动新窗口)。
notepad.exe
6. 文件操作
-
批处理文件本身不直接支持复杂的文件操作,但可以使用外部命令如
copy
、move
、del
、ren
等进行基本的文件操作。copy source.txt destination.txt move oldfile.txt newfolder\ del unwanted.txt ren oldname.txt newname.txt
7. 输入输出重定向
-
使用
>
和>>
进行输出重定向,<
进行输入重定向。echo Hello > output.txt echo Another line >> output.txt type input.txt | findstr "text"
8. 调用其他批处理文件
-
直接在
.bat
文件中调用另一个.bat
文件。call another_batch_file.bat
9. 延迟变量扩展
-
在某些复杂的批处理脚本中,可能需要使用
setlocal enabledelayedexpansion
来启用延迟变量扩展,以便在循环或条件语句中正确地修改和访问变量。setlocal enabledelayedexpansion for %%i in (1 2 3) do ( set VAR=Value%%i echo !VAR! ) endlocal
10. 退出批处理文件
-
使用
exit
命令退出批处理文件的执行,可选地指定一个退出码。exit /b 0