2025-02-09
编程
00
请注意,本文编写于 77 天前,最后修改于 77 天前,其中某些信息可能已经过时。

目录

1. 基本语法
2. 变量
4. 循环语句
4.1 for 遍历文件
4.2 for /L 数字循环
5. 函数(子程序)
6. 等待与定时
7. 执行外部程序
8. 结束进程
9. 操作文件
10. 环境变量
11. 让脚本以管理员权限运行
12. 示例:自动备份文件

DOS 脚本编写指南

DOS 脚本(Batch Script)是一种在 Windows 命令提示符(cmd.exe)下运行的批处理文件,通常以 .bat.cmd 作为扩展名。它用于自动化任务,例如文件操作、软件安装、环境配置等。

1. 基本语法

以下是 DOS 脚本的基本语法:

bat
@echo off rem 这是一行注释 echo Hello, World! pause
  • @echo off:关闭命令回显,避免显示执行的命令。
  • rem:注释,等同于 ::
  • echo:打印输出。
  • pause:暂停执行,等待用户按键继续。

2. 变量

bat
@echo off set name=ChatGPT echo 你好,%name%! pause
  • 使用 set 赋值,访问变量需用 %变量名%

  • set /p 允许用户输入:

    bat
    @echo off set /p username=请输入您的姓名: echo 欢迎,%username%! pause

3. 条件语句

bat
@echo off set /p age=请输入您的年龄: if %age% GTR 18 ( echo 你已成年。 ) else ( echo 你未成年。 ) pause
  • if 语句用于条件判断:
    • EQU(等于),NEQ(不等于)
    • LSS(小于),LEQ(小于等于)
    • GTR(大于),GEQ(大于等于)

4. 循环语句

4.1 for 遍历文件

bat
@echo off for %%f in (*.txt) do echo 发现文件:%%f pause

4.2 for /L 数字循环

bat
@echo off for /L %%i in (1,1,5) do echo 第 %%i 次执行 pause

5. 函数(子程序)

bat
@echo off call :sayHello pause exit /b :sayHello echo 你好,这是一个子程序! exit /b

6. 等待与定时

bat
timeout /t 5 /nobreak rem 或者 ping -n 5 127.0.0.1 >nul

7. 执行外部程序

bat
start notepad.exe start /min calc.exe

8. 结束进程

bat
taskkill /f /im notepad.exe

9. 操作文件

bat
copy source.txt target.txt del /f /q target.txt ren oldname.txt newname.txt md myfolder rd /s /q myfolder

10. 环境变量

bat
echo %PATH% set PATH=%PATH%;C:\myprogram

11. 让脚本以管理员权限运行

bat
@echo off :: 检查是否以管理员权限运行 net session >nul 2>&1 if %errorLevel% NEQ 0 ( echo 需要管理员权限! pause exit /b ) echo 你是管理员! pause

12. 示例:自动备份文件

bat
@echo off set backup_dir=C:\Backup if not exist %backup_dir% md %backup_dir% copy "C:\MyFiles\*" "%backup_dir%\" echo 备份完成! pause