2025年批处理命令教程(批处理命令怎么使用)

批处理命令教程(批处理命令怎么使用)批处理 Batch 也称为批处理脚本 顾名思义 批处理就是对某对象进行批量的处理 通常被认为是一种简化的脚本语言 它应用于 DOS 和 Windows 系统中 批处理文件的扩展名为 bat 或 cmd 通常我们指定的批处理指 DOS 批处理脚本 当关闭回显时 rem 和 后的内容都不会显示

大家好,我是讯享网,很高兴认识大家。



批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于 DOS 和 Windows 系统中。批处理文件的扩展名为 bat(或 cmd)。通常我们指定的批处理指 DOS批处理脚本


讯享网

 
  
讯享网
  • 当关闭回显时,rem和::后的内容都不会显示。
  • 当打开回显时,rem 后的内容会显示出来,然而::后的内容仍然不会显示。
  • chcp 65001 :这行命令会将命令行窗口的编码切换到UTF-8

[设置变量]
格式:set 变量名=变量值
详细:被设定的变量以%变量名%引用

讯享网
 
   

()                        分组

! ~                        一元运算符(逻辑非、按位非、取负)

* / %                      算数运算符(乘、除得商、除得余数,即取余)

+ -                         算数运算符(加、减)

<< >>                    逻辑移位(左移一位、右移一位)

&                           按位“与”

^                           按位“异”

|                            按位“或”

= *= /= %= += -=   赋值

&= ^= |= <<= >>=  赋值

,表达式分隔符(set可一次处理多个表达式)

函数格式:

讯享网

 函数传参

 

 函数返回值

(1)最常用的做法是在函数中将该值保存在全局变量中,调用结束后,直接用该全局变量;参考如前面的函数传参,直接通过全局变量length返回长度结果

(2)通过引用返回值,调用者通过传递一个变量给函数来存储返回值

讯享网

操作符(不区分大小写) 描述 全称 equ 等于 equal neq 不等于 no equal lss 小于 less than leq 小于等于 leq less than or equal gtr 大于 greater than geq 大于等于 geq greater than or equal
 

参本文的 《以下为批处理入门实操教程》的《条件判断结构》

参本文的 《以下为批处理入门实操教程》的《循环结构》

讯享网

字符串切片

 

替换字符串

讯享网

字符串拼接

 

字符串分割

  •  delims:告诉for每一行应该拿什么作为分隔符,默认的分隔符是空格和tab键
  • tokens:通过delims将每一行分为更小的元素时,由tokens来控制要取哪一个或哪几个

假如文件a.txt中有如下内容:

第1行第1列 第1行第2列 第1行第3列
第2行第1列 第2行第2列 第2行第3列
第3行第1列 第3行第2列 第3行第3列

【1】delims这个参数,=后面有一个空格,意思是再将每个元素以空格分割,默认是只取分割之后的第一个元素 

讯享网

【2】想要每一行的第二列元素;如果要显示第三列,那就换成tokens=3

 

【3】 如果要显示第二列和第三列,则换成tokens=2,3或tokens=2-3

讯享网

【4】skip就是要忽略文件的前多少行

 

【5】同一行字符串分割为多份

讯享网

扩充字符串

“扩充”意思就是对表示文件路径的字符串进行特殊的处理;

 

 

更多功能参考本文:《cd /d %~dp0 命令解释》

find

find的基本操作是在文件中搜索字符串

讯享网

 findstr

findstr 是find的扩展,功能更强大,格式:findstr 参数 字符串 路径文件名

【1】在指定文本中查找指定字符串

 

【2】指定搜索不分大小写

讯享网

【3】显示要查找的字符具体在文本哪一行

 

【4】 查找包含了指定字符的文本

讯享网

【5】查找以指定字符开始或结尾的文本行

 

 【6】如何查找以hello(忽略大小写)结尾的行?

讯享网

【7】查找与指定字符完全匹配的行

 

【8】查找不包含指定字符的行

讯享网

【9】如何查找当前目录及子目录下文件内容中包

 

含某字符串的文件名?

讯享网

【10】 用文本指定要查找的文件 And 用文本制定要查找的字符串

 

【11】搜索一个完全匹配的句子

讯享网

【12】搜索一个完全匹配的词

 

 【13】指定要查找的目录:查找在520、编程目录中所有包含任意字符的txt文件

讯享网

【14】 统计字符,.*为正则表达式的内容,表示任意行,包含空行

 

【15】 以指定颜色显示文件名,cmd窗口:color /?查看颜色和文字大小

讯享网

1、echo

打开或关闭回显功能,或显示消息;参本文的 《批处理bat实用案列》的《@echo和echo的区别》

2、rem

注释命令;参本文的 《基本语法》的《注释》

3、pause

运行 Pause 命令时,将显示cmd窗体的echo和运行的消息

4、call

(1)从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。

(2)调用函数

参考参本文的 《基本语法》的《函数》使用

5、start

调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用;

 

6、goto

跳转命令。程序指针跳转到指定的标签,从标签后的第一条命令开始继续执行批处理程序;

参考参本文的 《基本语法》的《函数》使用

7、set

显示、设置或删除变量;《基本语法》的《变量》使用

8、find

在文件中搜索字符串,参考参本文的 《基本语法》的《find操作》使用

9.date和time

讯享网
 

 10.pushd 和 popd

讯享网
 

11.timeout

讯享网

12.clr清屏

13.type显示文件内容

 

参本文的 《基本语法》的《运算》,了解部分符号具体用法

1、回显屏蔽 @

参考本文的《批处理bat实用案列》的《@echo和echo的区别》

2、重定向1 >;与>>

echo aaaaa>>a.txt

和echo aaaaa>a.txt的区别在于:

若a.txt已经存在时,>>会追加在a.txt文本中;若a.txt不存在时,两者没有区别。

3、重定向2 <

set /p ifo=<a.txt

echo 【 从文件a.txt获得的输入信息 】

echo %ifo%

4、管道符号 |

Syntax:command_1|command_2

将command_1的输出重定向为command_2的输入。

5、转义符 ^

将特殊符号转化为一般符号,即剥离特殊符号的特殊地位。特殊符号指:| & > <

比如,如果我们想输出符号“>;”,直接用命令 echo > 是不行的,必须修改为 echo ^>;。其余几个特殊符号类似需要有同样的处理

6、逻辑命令符

逻辑命令符包括:&、&&、||

&         :它的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败;

&&      :当&&;前面的命令成功执行时,执行&&;后面的命令,否则不执行;

||         :当||前面的命令失败时,执行||后面的命令,否则不执行。

文件夹管理:

cd 显示当前目录名或改变当前目录。

md 创建目录。

rd 删除一个目录。

dir 显示目录中的文件和子目录列表。

tree 以图形显示驱动器或路径的文件夹结构。

path 为可执行文件显示或设置一个搜索路径。

copy 复制文件和目录树。

文件管理:

type 显示文本文件的内容。

copy 将一份或多份文件复制到另一个位置。

del 删除一个或数个文件。

move 移动文件并重命名文件和目录。(Windows XP Home Edition中没有)

ren 重命名文件。

replace 替换文件。

attrib 显示或更改文件属性。

find 搜索字符串。

fc 比较两个文件或两个文件集并显示它们之间的不同

参本文的 《以下为批处理入门实操教程》的《目录与文件命令》

ping 进行网络连接测试、名称解析

ftp文件传输

net 网络命令集及用户管理

telnet远程登陆

ipconfig显示、修改TCP/IP设置

msg 给用户发送消息

arp 显示、修改局域网的IP地址-物理地址映射列表

参本文的 《以下为批处理入门实操教程》的《网络相关命令》

at 安排在特定日期和时间运行命令和程序

shutdown立即或定时关机或重启

tskill 结束进程

taskkill结束进程(比tskill高级,但WinXPHome版中无该命令)

tasklist显示进程列表(Windows XP Home Edition中没有)

sc 系统服务设置与控制

reg 注册表控制台工具

powercfg控制系统上的电源设置

对于以上列出的所有命令,在cmd中输入命令+/?即可查看该命令的帮助信息。如find /?

参本文的 《以下为批处理入门实操教程》的《基本命令格式》

什么是环境变量:

环境变量是操作系统中用于存储系统配置信息的一种机制;
它们是一组动态的值,可以影响操作系统和应用程序的行为。
环境变量通常包含一些重要的路径信息,例如可执行文件的路径、库文件的路径等。

为什么需要环境变量:

      比如你想在任意cmd窗口,输入armcc(对应armcc.exe工具),都能显示提示信息;那么就需要配置环境变量;否则cmd当前所在路径只能在armcc.exe所在路径输入armcc,才有提示信息!

方便访问可执行文件:通过将可执行文件的路径添加到环境变量中,我们可以在任何位置直接运行该可执行文件,而不需要指定完整的路径。
简化配置过程:某些应用程序或开发工具需要访问特定的库文件或配置文件。通过设置环境变量,我们可以避免在每次使用这些工具时手动指定路径。
提高系统的灵活性:通过使用环境变量,我们可以轻松地更改系统的配置,而不需要修改应用程序的代码。这使得系统更加灵活和可维护。

分类:

临时环境变量:在会话结束后将被清除;

用户环境变量:只对当前用户有效,相当于局部变量。

环境变量的设置:

【1】手动设置:1-> 新建 2->变量名 3->变量值,最后点击确定即可

【2】指令设置:回车之后,打开终端输入如下命令后按回车,环境变量已经保存到系统

讯享网

创建系统变量:

在cmd窗口中我们可以通过任意一个字符的ASCII码来输入该字符,比如Ctrl+G、Ctrl+N等,字母a-z对应ASCII码的97-122。对于ASCII码大于26的字符,可以通过这个方法来输入:按住Alt键不松,通过小键盘输入ASCII码的十进制值,松开Alt键即可

REM 声明采用UTF-8编码

chcp 65001

 表示关闭命令回显功能,即命令执行时不在屏幕上输出命令本身,只输出命令的执行结果。

echo  在屏幕上输出命令本身,也输出命令的执行结果(在terminal上显示)

如下,不带@echo off

如下,带@echo off,所有的执行的命令都不显示了,显示执行命令后的结果

cd /d %~dp0的含义

有三个部分:

    1.cd – 这是更改目录命令。
    2https://blog.csdn.net/weixin_/article/details/d – 这个开关让cd改变驱动器和目录。 没有它,你将不得不做cd %~d0 & cd %~p0 。
    3.%~dp0 – 这可以进一步分为三个部分:
        【1】%0 – 这表示批处理脚本的第零个参数。 它扩展到batch file本身的名称。
        【2】%~0 – 在那里解开扩展参数的双引号( " )。
        【3】%dp0 – d和p有扩展的修饰符。 d强制添加一个驱动器号并添加完整path。




cd /d %~dp0的意思就是cd /d E: est_path

其中:

~dp  :是变量扩充
d      :既是扩充到分区号 E:
p      :就是扩充到路径 est_path
dp    :就是扩充到分区号路径 E: est_path


通过实战进行解释:
1.通常情况下我们要进入其他盘符下的任意目录,需要在CMD窗口运行两次命令:
第一次,进入盘符,第二次进入指定目录
盘符切换:


从D:切换进入E: est_path ,要使用两条命令:

 

 通过使用CD命令,并加入参数 /d ,可以通过一个步骤,直接进入指定盘符下的任意文件夹。

#一个步骤进入E盘下的test_path目录:

讯享网

由此可见cd /d %~dp0 的意思就是等价cd /d E: est_path

 更多语法介绍

选项语法:

 ~0 - 删除任何引号("),扩充 %0

%~f0 - 将 %0 扩充到一个完全合格的路径名(“f”是file,即文件)

%~d0 - 仅将 %0 扩充到一个驱动器号

%~p0 - 仅将 %0 扩充到一个路径

%~n0 - 仅将 %0 扩充到一个文件名(“n”是name 文件名)

%~x0 - 仅将 %0 扩充到一个文件扩展名

%~s0 - 扩充的路径只含有短名(“s”为Short,短的)

%~a0 - 将 %0 扩充到文件的文件属性(“a”为attribute,即属性)

%~t0 - 将 %0 扩充到文件的日期/时间(“t”time)

%~z0 - 将 %0 扩充到文件的大小(Size 大小)

%~$PATH:0 - 查找列在路径环境变量的目录,并将 %0 扩充 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩充到 空字符串

可以组合修饰符来得到多重结果:

%~dp0 - 仅将 %0 扩充到一个驱动器号和路径

%~nx0 - 仅将 %0 扩充到一个文件名和扩展名

%~fs0 - 仅将 %0 扩充到一个带有短名的完整路径名

%~dp$PATH:0 - 查找列在路径环境变量的目录,并将 %I 扩充 到找到的第一个驱动器号和路径。

%~ftza0 - 将 %0 扩充到类似输出线路的

DIR%0为当前批处理文件

 

运行结果

延时扩展命令为:

讯享网

参考《批处理中setlocal enabledelayedexpansion的作用详细整理》:

 

TEST1.bat:

讯享网

TEST2.bat

 

将TEST1.bat中的值传到TEST2.bat中,并显示出来;参考如下实现

TEST1.bat:

讯享网

 TEST2.bat:

 

类似的还有%1-%9,分别代表传递来的第1-9个参数;为cmd命令行模式传进来的参数

win+r进入cmd命令窗口,打开输入cmd:

1.算术运算:/a表示设置算术运算

 优先级使用括号进行

2.重定向操作

3.多名命令运算

4.管道符号

第一个命令A的输出当做第二个命令B的输入

1.基本命令格式

2.批处理文件接收参数

3.批处理注释 

使用rem进行注释

讯享网

 使用::进行注释

 

 4.改变cmd窗口文字背景颜色和标题修改

0a表示黑色背景和淡绿色文字

5.查看日期和时间

6.start启动命令

7.

8.任务列表和终止命令

9.文件夹结构命令tree

10.关机命令,计划任务命令at,环境变量设置

查看所有的系统环境变量的命令:在cmd中输入 set 回车。

1.目录浏览dir命令

 

2.目录新建与删除

mkdir也可以缩写为md

 

3.目录切换命令cd

. 是当前目录,..是指上级目录


4.目录重命名ren

5.目录拷贝命令copy

复制后进行删除操作

/b表示以二进制模式复制文件

讯享网

删除指定后缀的所有文件


7.文件剪切命令move

1.if-else结构

使用 pause>nul ,nul相当于空文件,即把这些文字隐去了。其作用与pause基本相同,同样是等待用户按键,区别在于不显示“请按任意键继续.....”

2.判断文件是否存在exists

3.文件判断删除

加括号即可换行

 

 
   

1.for、in 和 do是for语句的关键字,它们三个缺一不可;
2.在 in 之后,do 之前的括号"()"不能省略,do 后可以有括号,且括号内不能有注释
3.%%i 是for语句中对形式变量的引用;
4.for语句的形式变量I,可以换成26个字母中的任意一个,这些字母会区分大小写;
5.in和do之间的command1表示的字符串或变量可以是一个,也可以是多个,每一个字符串或变量,我们称之为一个元素,每个元素之间,用空格键、跳格键、逗号、分号或等号分隔;



6.参数说明:/d 仅为目录;/R递归;/L迭代数值范围;/f(F) 打印文件内容

1.循环遍历文件夹名称

2.遍历文件夹下的文件

3.遍历数字操作

4.遍历文件内容操作

讯享网

1.计算机信息展示

2.交互操作介绍

3.计划执行操作

通过at命令执行计划操作

4.Bat批处理脚本转Exe程序介绍

需要通过对应的工具bat才能转换为exe.


小讯
上一篇 2025-05-25 13:32
下一篇 2025-06-01 14:20

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/179134.html