网页浏览总次数

星期五, 一月 10, 2025

Bat批处理学习笔记

 批处理脚本学习笔记


*文件编码方式 否则中文输出乱码


 



*写代码时不区分大小写

 

@echo off //关闭回显

echo hello world //输出hello world

pause //执行后暂停

 

显示 设置 删除变量

set

Set 显示全部变量及其值

Set s 显示全部 s开头的变量及其值

Set aa=abcdset aa=abcd 创建变量aa 赋值为abcd(不需要区分类型,既是字符串也是数字)

%aa% 调用变量

set aa= 删除变量

 

内部命令(参考同目录cmd.txt文件)

cls 清屏

 

运算操作

set /a  //加 减 乘 除 取余

 



 

 

 

 



重定向运算

> //左侧内容覆盖右侧

>> //左侧内容追加到右侧

< //右侧内容覆盖到左侧

<< //右侧内容追加到左侧


 



















dir //查询当前目录文件结构

Echo hello world > a.txt //hello world字符串覆盖到文件a.txt(没有先自动创建)

Type a.txt //查看a.txt 的内容

Echo hello far >> a.txt //hello far字符串追加到文件a.txt(没有先自动创建)


多命令运算

&&  //第一个命令执行错误不会执行第二个命令

||  //前面执行失败后面会执行,前面执行成功后面不执行


 


 










管道操作运算

|  A|B

Mkdir 文件夹名称//创建空目录

Dir / find .txt //查询.txt文件不显示别的类型文件和文件夹


 

 

 

 

 


















Netstat -an //显示全部协议 地址 和连接状态


 














Netstat -an | find “"ESTABLISHED” //只显示 ESTABLISHED状态的内容


 

 

 

 

 

 





批处理基本命令格式

命令 子命令 参数 操作 选项

命令 /? /help 获取详细的帮助信息


 

 

 

 

 

 

 

 









批处理文件参数传递

 


 

 



输入两个数 求和并显示


 





*注意 输入的时候 变量=后面不要有空格

num1 = 请输入第一个数字 //这样是错误的 因为空格会被当做输入的一部分

 

注释

Rem 注释文本 不关闭回显 注释无效 会显示

 

添加新用户和注释


 







::     完全注释 关闭或打开回显 都不执行不显示



 



 

 


CMD窗口样式自定义

 

Title 标题名称 //修改cmd窗口标题


 


 













Color 0a //黑背景浅绿色字 关闭cmd窗口再打开一个会还原


 

 

 





时间相关命令

Date /t //显示日期

Time /t //显示时间


 





启动命令

Start    //启动一个单独的窗口以运行指定的程序或命令

Start /b  //启动程序或命令 不单独创建窗口


 



调用其他bat文件

Call xx.bat


 


 


 




任务列表查看命令


 






//远程连接192.168.1.1机器 用户名admin 密码123456 ,密码没有可以不写

tasklist /s 192.168.1.1 /u admin /p 123456

Tasklist /fi //筛选器


 





Eq 等于

Ne 不等于

Gt 大于

Lt 小于

Ge 大于等于

Le 小于等于

Like 类似

not like 不类似


 




tasklist /fi "WINDOWTITLE eq test.txt - 记事本" //通过窗口标题显示 映像名称PID


 

 


/fo 执行输出格式


 






任务关闭命令


 





Taskkill


 


 

 

 

 


文件夹结构命令

Tree


 

 








关机命令

Shutdown

Shutdown /p //本地关机

Shutdown /i //打开远程关机的UI界面

Shutdown /s /t 30 //30s后本地关机

 

计划任务命令

Atwin10 启动 改用 schtasks


 

 


环境变量命令

Set

可以查询也可以设置


 







添加用户环境变量和系统环境变量

setx TestVar "TestValue"  //添加到用户环境变量

setx TestVar "TestValue" /m   //添加到系统环境变量


 

 

 

 

 









目录(文件夹)和文件管理命令

 

目录浏览

Dir //显示目录中的文件和子目录列表

Dir /a //显示全部目录和文件(包含隐藏)

 

目录新建/删除

Mkdir A  //新建文件夹A

Mkdir A\B //新建文件夹A 进入A文件夹在A文件夹中新建文件夹B(如果A不存在)

Mkdir a b c //新建文件夹 a  b  c

Rmdir A   //删除文件夹A

rmdir A /S //删除文件夹A和子目录和文件(会确认是否删除)

Rmdir A /S /Q //删除文件夹A和子目录和文件(不要求确认)


 


 


 


 


 

 




切换目录

Cd 具体目录 //切换到对应目录

Cd..  //退到上一级目录


 

 











重命名目录

Ren a b //重命名文件夹ab


 

 




目录复制

Copy a b //a文件夹下的文件复制到b文件夹中(不包含a文件夹的子文件夹)


 


 


 

 




删除文件

Del 文件路径


 

 


文件剪切

Move 文件目录 目录


 






Move b\1.txt b\2.txt  //表示目录不变 文件名称修改为2

Move b\2.txt a\1.txt  //移动同时重命名


 

 

 

 

 


用户操作命令

Net user  //查看增删用户


 


 


 


 

用户组操作命令

把新创建的用户添加到 administrators(系统管理员权限的组)就给用户进行了提权


 



把用户testUserusers组中删除


 

 

 

主机连通性检测命令ping

Ping本机 查看 IP/TCP 协议是否正常 判断网络是否正常


 






持续ping


 


 












网络连接命令telnet

如果没启动服务需要手动启动一下telnet

使用quit退出telnet


 






连接具体ip和端口


 


查看网络路由信息命令tracert

查看路由信息


 





查看网络适配器信息命令ipconfig

查看网络适配器的配置信息和诊断网络连接


 






地址解析协议(Arp)命令

查询和修改操作系统的ARP(地址解析协议)缓存表。ARP用于将IP地址映射到物理MAC地址,以便在本地网络上进行通信。


 

 

 

 


条件判断语句 if else


 





判断文件是否存在 exist

Exist 后是文件路径,批处理相同路径下使用文件名(相对路径即可),别的文件夹使用绝对路径


 





判断文件是否存在,后进行一些操作


 

 

 

 








循环遍历文件夹名称

for /d %%a in (*) do echo %%a   //循环遍历所有文件夹 并且输出文件夹名称

for /d 是一个for循环命令的变体,用于遍历文件夹而不是文件

%%a 是一个循环变量,可以用于代表当前循环的文件夹

(*) 是通配符,表示遍历当前目录下的所有文件夹

do echo %%a 是在每个文件夹上执行的操作,这里是打印出文件夹的名称

 

*批处理文件中 %%a  第一个%是转义字符,cmd中直接写%a即可

 


 








循环遍历指定目录及其子目录中的文件

for /r ".\" %%v in (*.txt) do echo %%v //循环变量当前目录下全部文件夹及其子文件中的txt

for /r 是一个递归循环命令,用于遍历指定目录及其子目录中的文件

".\"当前批处理文件所在目录

%%v 是一个循环变量,可以用于代表当前循环的文件名

(*.txt) 是通配符,表示只匹配文件名以.txt结尾的文件

do echo %%v 是在每个文件上执行的操作,这里是打印出文件的路径和名称


 















*遍历中文目录下的文件 注意批处理文件编码为ANSI


 




*双击代码 无法删除文件问题


 

 

 



遍历数字

for /L %%v in (1,1,20) do echo %%v  //变量数字1-20 每次+1(中间的1为步长)

 

for /L %%v in (1,1,254) do ping %1.%%v //循环自动ping ip


 


 


192.168.0.X  //此处的X就是从1开始到254

并且ping192.168.0.1后自动ping 192.168.0.2

遍历文件中的内容(字符串)

还能变量环境变量(字符串),其他字符串列表

for /f %%v in (test.txt) do echo %%v  //变量test.txt文件的内容(字符串)并输出


 










跳转语句goto

跳转到标签行

Goto



 




循环创建文件夹


 

 





案例1-计算机信息展示保存到txt


 

 

 






案例2-交互操作