.bat文件基本语法

23 阅读1分钟

Batch 与 Python 语法映射

1. 命令回显控制

Batch说明
@echo off关闭命令回显,@ 让这行本身也不显示
echo on开启命令回显

2. 输出

BatchPython
echo xxxprint("xxx")
echo.print() (输出空行)

3. 注释

BatchPython说明
@REM xxx# xxx隐式注释,不显示在命令行
REM xxx# xxx显式注释,会显示在命令行

4. 变量赋值

BatchPython
set "A=B"A = "B"
set "user=%USERNAME%"user = os.environ["USERNAME"]

⚠️ 注意set 赋值时等号两边不能有空格,否则空格会成为变量名或值的一部分

Python 获取环境变量:

import os
user = os.environ["USERNAME"]
# 或更安全的写法
user = os.environ.get("USERNAME", "默认值")

5. 用户输入

BatchPython
set /P choice=请输入:choice = input("请输入:")

/P 表示 prompt(提示符),用于获取用户输入

6. 条件判断

Batch:

if "%choice%"=="1" (
    echo 你选了1
)
if "%choice%"=="2" goto xxx

Python:

if choice == "1":
    print("你选了1")
elif choice == "2":
    xxx()

7. 标签与跳转

Batch说明
:xxx定义标签
goto xxx跳转到标签(不返回)
call :xxx调用标签(会返回)
goto :eof结束当前子程序并返回

:eof 是系统预定义标签,表示文件末尾

8. call 的使用(类似函数调用)

Batch:

@echo off
call :sayHello
call :sayBye
pause
goto :eof

:sayHello
echo 你好
goto :eof

:sayBye
echo 再见
goto :eof

Python:

def say_hello():
    print("你好")

def say_bye():
    print("再见")

say_hello()
say_bye()
input("按任意键继续...")

9. 暂停

BatchPython
pauseinput("按任意键继续...")

10. 复制

# 将目标.bat文件赋值到当前文件,
# /y 如果当前地址有同名文件则不询问直接覆盖
copy /y mpc_build_%customer%.bat c:\repo\fvg3_lfs\