Batch入门学习

**Batch(批处理脚本)**是DOS下的批处理文件。通常用于Windows执行一系列命令,从而简化日常或重复性任务。

为什么要学Batch?

1.自动化任务:批处理脚本可以用来自动化重复性的任务,如备份文件、清理临时文件夹、更新软件等,这可以节省时间并减少人为错误。

2.简化复杂操作:通过编写批处理脚本,可以将一系列复杂的命令和操作封装成简单的命令执行,使得用户即使不熟悉详细的命令行操作也能轻松完成任务。

3.快速部署:在软件部署和系统配置过程中,批处理脚本可以用来快速设置环境,确保一致性和可重复性。

一、目录或文件

  • start

    • 打开目录:start C:\apps
    • 打开文件:start C:\apps\eg.txt
  • del

    • 删除当前目录下eg.txt文件:del eg.txt
    • 删除上级目录下eg.txt文件:del ..\eg.txt
    • 删除当前目录下TEST目录下所有.o文件:del TEST\*.o
    • 删除指定文件:del C:\TEST\eg.txt
    • 删除指定目录下的所有文件(不包括子目录文件):del C:\apps\TEST\*.*
    • 删除指定目录及其所有子目录中的所有文件,而不会询问你是否确认删除:del C:\apps\TEST\*.* /s /q
  • rd

    • 删除指定目录(只适用于空文件夹,否则无用):rd C:\apps\TEST
    • 删除指定目录及其内容(且不会询问):rd C:\apps\TEST /s/q
  • ren

    • 修改文件名,将eg.txt改为EG.bat:ren eg.txt EG.bat
    • 修改文件扩展名,将所有.txt扩展名改为.mp3:ren *.txt *.mp3
  • copy

    • 复制eg.txtTEST2:copy eg.txt TEST2
    • 复制当前目录下所有.o文件到TEST2:copy *.o TEST2
    • 创建新文件并输入内容:copy con test.txt
  • md

    • C:\apps下创建TEST3:md C:\apps\TEST3
  • attrib

    • 隐藏TEST目录:attrib +s +h C:\apps\TEST
    • 取消隐藏TEST目录:attrib -s -h C:\apps\TEST
  • dir

    • 显示当前目录下所有.o文件:dir *.o
    • 显示指定目录下(例如C盘的Windows)所有文件:dir C:\Windows /s
    • 显示当前目录中的文件和文件夹:dir
    • 显示包括隐藏文件的当前目录:dir /a
  • cd

    • 切换目录到根目录:cd\
    • 切换目录:cd
  • type

    • 显示特定类型文件的内容:type C:\apps\TEST\*.txt
    • 显示文件内容:type C:\apps\TEST\1.txt
  • find

    • 在文件中查找文本:find "abc" C:\apps\TEST\1.txt
    • 在文件中查找不区分大小写的文本:find /i "abc" C:\apps\TEST\1.txt
    • 在文件中查找并计数:find /c "abc" C:\apps\TEST\1.txt

二、显示

  • echo和@

    • 关闭单行回显:@
    • 从下一行开始关闭回显:echo off
    • 从本行开始关闭回显:@echo off
    • 从下一行开始打开回显:echo on
    • 在当前的命令行界面输出一个空行:echo
  • cls

    • 清屏:cls
  • ver

    • 显示版本信息:ver
  • tree

    • 显示目录结构:tree C:\

三、开关机

  • shutdown**

    • 60s后自动关机:shutdown -s -t 60

    • 取消自动关机:shutdown -a

    • 立即重启:shutdown -r -t 0

    • 60s后自动休眠:shutdown -h -t 60

四、环境变量与路径

  • 显示当前环境变量:echo %PATH%
  • 添加路径到环境变量:setx PATH "%PATH%;C:\新路径"
  • 设置环境变量:set var=value

五、语句

  • if

    if [条件] ([操作符] [值]) [命令1] [命令2]
    
    [条件]:可以是文件存在、字符串比较、错误级别等。
    [操作符]:用于比较的运算符,如"=="(等于)、"ne"(不等于)、"lt"(小于)、"le"(小于等于)、"gt"(大于)、"ge"(大于等于)等。
    [值]:用于比较的值。
    [命令1]:如果条件为真(true)时执行的命令。
    [命令2]:如果条件为假(false)时执行的命令(可选)。
    

    例如:

    • 检查文件是否存在:

      if exist file.txt (
          echo 文件存在
      ) else (
          echo 文件不存在
      )
      
    • 比较字符串:

      if "%variable%"=="value" (
          echo 字符串匹配
      ) else (
          echo 字符串不匹配
      )
      
    • 检查错误级别:

      if %errorlevel%==0 (
          echo 没有错误发生
      ) else (
          echo 发生了错误
      )
      
    • 使用逻辑运算符:

      if "%1"=="start" (
          if "%2"=="/k" (
              echo 启动并保持窗口打开
          ) else (
              echo 启动
          )
      ) else (
          echo 参数不正确
      )
      
  • for

    for [变量] in (集合) do [命令]
    
    [变量]:在每次循环迭代中,这个变量会被赋予集合中的下一个元素。
    (集合):可以是文件列表、字符串列表、命令输出等。
    do [命令]:对集合中的每个元素执行的命令。
    

    例如:

    • 遍历文件列表:

      for %%f in (*.txt) do (
          echo 处理文件: %%f
          type %%f
      )
      ::这个例子会遍历当前目录下所有的.txt文件,并打印出每个文件的内容。
      
    • 遍历字符串:

      for %%i in (a b c) do (
          echo %%i
      )
      ::这个例子会依次打印出字符串a、b和c。
      
    • 遍历变量扩展:

      for /f "tokens=1,2 delims=," %%a in ('dir /b /a-d') do (
          echo 文件名: %%a
          echo 大小: %%b
      )
      ::这个例子会遍历当前目录下的文件(不包括目录),并打印出每个文件的名称和大小。
      
    • 遍历环境变量:

      for %%v in (%PATH%) do (
          echo %%v
      )
      ::这个例子会遍历PATH环境变量中的每个路径。
      
    • 使用for /1进行数值循环:

      for /l %%i in (1, 1, 5) do (
          echo %%i
      )
      ::这个例子会从1循环到5,每次循环变量%%i的值增加1。
      
  • goto

    • 跳转到示例处:goto eg
    • 定义示例::eg

六、注释

  • 例如:::这是注释

七、参数

batch中每个命令有很多个参数,要了解特定命令支持的所有参数,可以在命令行中使用命令名 /?来获取帮助信息,例如

  • del /?
  • 18
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值