> 文章列表 > BAT批处理基本命令

BAT批处理基本命令

BAT批处理基本命令

什么是 BAT 批处理脚本语言?

BAT 批处理脚本语言是 Windows 系统自带的一种脚本语言,主要用于批量处理文件、目录、注册表、系统设置等任务。使用 BAT 批处理脚本语言可以节省大量手动操作的时间和精力。

如何编写 BAT 批处理脚本?

  1. 使用记事本或其他文本编辑器打开一个新文件。
  2. 以.bat 或.cmd 为文件后缀名,例如 test.bat 或 test.cmd。
  3. 在文件中输入要执行的命令,每行一个命令。
  4. 保存文件并关闭文本编辑器。

BAT 批处理脚本语言常用基础语法

  • @echo off

    这个命令用于关闭脚本的输出。如果不加这个命令,脚本会将每个命令的输出都显示在命令行窗口中。

  • 注释

    在 BAT 批处理脚本语言中,使用 REM 关键字表示注释。注释语句不会被执行,可以用于添加注释、说明等。

    REM 这是一个注释
    rem 这是一个注释
    :: 这是一个注释
    
  • ECHO

    ECHO 命令用于在命令行窗口中输出文本。语法如下:

    ECHO [ON|OFF] [文本]
    

    例如:

    ECHO Hello World
    
  • 变量

    使用 set 命令可以定义变量,可以将一个字符串或命令的输出结果赋值给变量。语法如下:

    SET 变量名=值
    

    例如:

    set var=Hello World
    echo %var%
    
  • 条件语句

    使用 if 命令可以进行条件判断。if 命令可以判断变量值、文件存在、字符串比较等条件。语法如下:

    IF [NOT] 条件命令 (命令)
    

    例如:

    if %var%==Hello World (
    echo Var is Hello World
    ) else (
    echo Var is not Hello World
    )
    
  • 循环语句

    使用 for 命令可以进行循环操作。for 命令可以遍历文件列表、目录列表、字符串列表等。语法如下:

    FOR %%variable IN (集合) DO 命令
    

    例如:

    for %%i in (\\*.txt) do (
    echo %%i
    )
    
  • go to

    用于跳转到指定标签处执行代码。它的基本语法如下:

    goto :label
    

    其中,:label 表示要跳转到的标签名称,需要在脚本中预先定义好。当 goto 命令执行时,控制权将转移到指定标签处,继续执行标签下面的代码。

    下面是一个简单的示例,演示如何使用 goto 命令实现无限循环:

    @echo off
    :start
    echo Hello, world!
    goto start
    
  • 函数

    使用 call 命令可以定义函数。函数可以将多个命令封装成一个独立的逻辑单元,方便复用和维护。

    call :func1
    goto :eof:func1
    echo Func1
    goto :eof
    
  • 文件操作

    使用 copy、move、del 等命令可以对文件进行复制、移动、删除等操作。

    copy file1.txt file2.txt
    move file1.txt dir1\\
    del file1.txt
    
  • start

    start 命令可以用于打开一个新的窗口来运行指定的程序。语法如下:

    start "窗口标题" 程序名 参数
    

    其中,参数说明如下:

    • “标题”:指定新窗口的标题。
    • /d 目录:指定要运行命令或程序的目录。
    • /i:在新窗口中运行程序时,将其作为另一个进程运行。
    • /min:指定新窗口应最小化。
    • /max:指定新窗口应最大化。
    • /separate:新窗口应在其自己的进程中启动。
    • /shared:新窗口应与调用窗口共享进程。
    • /low、/normal、/high、/realtime、/abovenormal、/belownormal:指定新窗口的优先级。
    • /wait:指定启动的程序运行完成后才退出 start 命令。
    • /b:指定不等待命令或程序完成,而是立即返回。

    例如:

    start "Notepad" notepad.exe
    

    这个命令将打开一个新的窗口来运行 Notepad 程序。

  • pause

    pause 命令可以暂停脚本的执行,直到用户按下任意键。

    示例

    下面是一个简单的.bat 文件示例,用于列出当前目录下所有的.txt 文件:

    @echo offREM 设置变量
    SET file_type=txtREM 输出文本
    ECHO Searching for files of type %file_type%...REM 循环处理所有的文件
    FOR %%G IN (*.%file_type%) DO (ECHO %%G
    )pause
    

    在命令行窗口中运行这个.bat 文件,它将输出所有的.txt 文件名,并在最后暂停等待用户按下任意键。