DOS 脚本编写指南
DOS 脚本(Batch Script)是一种在 Windows 命令提示符(cmd.exe)下运行的批处理文件,通常以 .bat
或 .cmd
作为扩展名。它用于自动化任务,例如文件操作、软件安装、环境配置等。
以下是 DOS 脚本的基本语法:
bat@echo off rem 这是一行注释 echo Hello, World! pause
@echo off
:关闭命令回显,避免显示执行的命令。rem
:注释,等同于 ::
。echo
:打印输出。pause
:暂停执行,等待用户按键继续。bat@echo off set name=ChatGPT echo 你好,%name%! pause
使用 set
赋值,访问变量需用 %变量名%
。
在 set /p
允许用户输入:
bat@echo off set /p username=请输入您的姓名: echo 欢迎,%username%! pause
bat@echo off set /p age=请输入您的年龄: if %age% GTR 18 ( echo 你已成年。 ) else ( echo 你未成年。 ) pause
if
语句用于条件判断:
EQU
(等于),NEQ
(不等于)LSS
(小于),LEQ
(小于等于)GTR
(大于),GEQ
(大于等于)for
遍历文件bat@echo off for %%f in (*.txt) do echo 发现文件:%%f pause
for /L
数字循环bat@echo off for /L %%i in (1,1,5) do echo 第 %%i 次执行 pause
bat@echo off call :sayHello pause exit /b :sayHello echo 你好,这是一个子程序! exit /b
battimeout /t 5 /nobreak rem 或者 ping -n 5 127.0.0.1 >nul
batstart notepad.exe start /min calc.exe
battaskkill /f /im notepad.exe
batcopy source.txt target.txt del /f /q target.txt ren oldname.txt newname.txt md myfolder rd /s /q myfolder
batecho %PATH% set PATH=%PATH%;C:\myprogram
bat@echo off :: 检查是否以管理员权限运行 net session >nul 2>&1 if %errorLevel% NEQ 0 ( echo 需要管理员权限! pause exit /b ) echo 你是管理员! pause
bat@echo off set backup_dir=C:\Backup if not exist %backup_dir% md %backup_dir% copy "C:\MyFiles\*" "%backup_dir%\" echo 备份完成! pause