Batch 与 Python 语法映射
1. 命令回显控制
| Batch | 说明 |
|---|---|
@echo off | 关闭命令回显,@ 让这行本身也不显示 |
echo on | 开启命令回显 |
2. 输出
| Batch | Python |
|---|---|
echo xxx | print("xxx") |
echo. | print() (输出空行) |
3. 注释
| Batch | Python | 说明 |
|---|---|---|
@REM xxx | # xxx | 隐式注释,不显示在命令行 |
REM xxx | # xxx | 显式注释,会显示在命令行 |
4. 变量赋值
| Batch | Python |
|---|---|
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. 用户输入
| Batch | Python |
|---|---|
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. 暂停
| Batch | Python |
|---|---|
pause | input("按任意键继续...") |
10. 复制
# 将目标.bat文件赋值到当前文件,
# /y 如果当前地址有同名文件则不询问直接覆盖
copy /y mpc_build_%customer%.bat c:\repo\fvg3_lfs\