当前位置: 首页 > article >正文

二、windows批处理

2.1 批处理简介

批处理就是一个脚本文件

脚本就是文本文件,在文件中包含了多个要执行的命令

批处理的作用:批量、自动、定时去执行一些操作

写批处理的方法:第一步:创建一个文本文件【后缀是txt的文件】

                          第二步:在文本文件中写入要自动执行的dos命令,然后保存退出

                          第三步:将这个文件的后缀修改为.bat

 2.2 dos命令

  • 1. ECHD

输出一段信息

  1. 案例:输出“hello hello”


  • 2.变量

变量包含俩个部分:*变量的名字

                                 *变量的值

变量的格式:set  变量名=变量值

例如:定义一个变量,变量名是name,变量的值是jack;再定义一个变量,变量名是age,变量的值是20

使用变量的格式: %变量名%   注意:使用变量的时候,需要给变量前后百分号%。

案例:定义变量保存姓名和年龄,用echo进行输出【其实这个就是拼接有变量的字符串】


  • 3.关闭/打开回显

回显:就是在执行批处理文件的时显示批处理文件中的命令

打开回显: 显示批处理文件中的命令。【默认就是打开回显的】

                   打开回显的命令:@echo on

关闭回显: 不显示处理文件中的命令

                   关闭回显的命令:@echo off

echo 命令的第一种用法:echo on 和 echo off echo on表示打开回显

                                          echo off表示关闭回显 

echo 命令的第二种用法:echo message 这个很简单,就是显示后面的信息

echo 命令 三种用法: 显示当前回显设置状态,就是显示回显打开或关闭

echo也可以输出文件


  • 4.印当前路径

可以借助内置变量

内置变量:在系统中自动已经定义的变量  例如:%cd%


  • 5. REM

rem 注释

注释的内容,就是一个解释信息【注释的内容是不会当做程序来运行】

作用1:將脚本中某一行或者多少设置为不执行

作用2:解释脚本中的每行内容是作用

注意:可以用"::"代替"REM"

           ::可以提高执行速度,但是REM的兼容性更好

           建议大家用rem注释


  • 6.pause

作用:是将DOS界面暂停关闭


  • 7. title

用来设置dos的标题


  • 8.中文乱码解决方案

例如:使用 chcp 65001 命令行

注意:

方法2:将bat文件使用txt编辑,然后另存为时选择 ANSI 编码格式

点击编码中的转为ANSI编码即可


  • 9. start

用于调用其他程序,如可执行文件exe

运行即可启动qq

注意:1.qq.exe需要和批处理文件在同一个目录中,是为了方便

2.可以将qq.exe放到任意位置,但是在执行的时候,就必须加上路径

3.start在启动的时候,可以启动exe程序,也可以启动bat


  • 10. 读取dos输入

与用户交互:用户可以进行输入,系统会进行输出

此时需要将用户输入的内容保存成一个变量,这里需要用到set标识符,还有参数/p

案例:让用户输入一个ip地址,检查这个ip是否在线


  • 11. 函数

函数本质就是一段代码

通过使用函数,可以实现代码的重复使用,进而可以提高程序的开发效率

定义函数的格式:

函数内容是以   :函数名开始以 goto:eof结束

调用函数就是call:函数名

注意1 :函数要写在程序的最后,否则在重复调用函数的时候,容易出现函数执行了一次,程序就结束的现象,如下例:

执行正常的程序【将函数部分写在最后】

【函数一定要放到goto:eof的后面,否则函数就会被多执行一次

执行异常的程序【将函数部分写在前面】

案例:打印一个菜单

案例:通过函数,让洪湖输入三次姓名和年龄


  • 12. goto 

用于函数或者主程序的跳转,通常的写法都是goto:eof

注意:goto:eof 写的位置不一样,效果不同

     如果写在函数中,goto:eof 是用于终止函数运行

     如果写在主程序中,goto:eof 是用于终止整个程序的运行


  • 13. call 

用于调用函数,也可以调用别的bat脚本


  • 14.errorlevel

是脚本内置变量,可以检测上一个命令是否执行成功

  • 如果这个变量的值等于0,表示上一个命令执行成功
  • 如果这个变量的值不等于0,表示上一个命令执行失败

变量分为俩种

用户自己定义的,也就是用set定义的

系统自动生成的,这种不需要用户set,可以直接使用

例如:


  • 15. for

用于循环:

dir /b 指定目录 这个语法可以用于获得指定目录下的所有文件和文件夹

for /f 遍历指定目录下所有的文件和文件夹 for /d 遍历指定目录下所有的文件夹

for /r 遍历指定目录下所有的文件和子文件夹中的文件

%%i 则是声明的变量,可以是任意的变量名,但变量名前面必须加上两个百分号%%

 16. > 和 >>

如果文件不存在,可以创建一个新的文件,然后将命令的执行结果保存到文件中

如果文件已存在,那么就会将文件的原有内容删除,然后将命令的执行结果保存到文件中


  • 16. 屏蔽命令的输出

命令的输出结果有俩种:

  • 命令执行正确的输出
  • 命令执行错误的输出

 如下图所示:加上nul,就不会有输出结果,会把结果存储在nul当中 


可以复制文件或者文件夹

案例:将a.txt复制成b.tx


  • 17. del

    可以删除文件,自行测试

  • del /f 强制删除只读文件
  • del /s 从所有的目录下删除指定文件
  • del /q 安静模式

  • 18. if 判断

判断的格式1

判断的格式2

案例:让用户输入一个年龄,判断这个年龄是否大于18,大于18显示已成年

判断字符串: == 等于

案例:让用户输入一个IP地址,判断这个ip是否在线

http://www.lryc.cn/news/2420975.html

相关文章:

  • 小胜靠智、大胜靠德、永胜靠和
  • Linux 操作系统等保测评二级合规基线整改项 - 安全审计篇
  • FreeTextBox 使用方法
  • Java JVM、JRE和JDK
  • 2023年11大热门IT技能,网络安全赢麻了
  • 3.7牛客2021年度训练联盟热身训练赛第一场J.[模拟]
  • 大学生必看的电影
  • yandex网站怎么打不开了?原因及解决方法!
  • 影片:Paycheck
  • SylixOS中断系统分析
  • Android开发——MediaProvider源码分析
  • android中的surface
  • 10款.net 图形插件
  • QQ邮箱模拟登录
  • 安卓唯一标识:IMEI,MEID,MAC地址,Android_id,UUID,OAID
  • 汽车电子常用外围硬件电路设计
  • Instagram 账号被封怎么办?如何申诉拿回账号?
  • JavaScript异步编程学习
  • 使用SharePoint进行编程
  • 系统调用之sys_adjtimex
  • vb.net合伙数据库access(一)——连接数据库
  • Direct3D 9 入门例子程序 圆锥体
  • 使用51单片机来实现步进电机的控制
  • RCS
  • 免费的XP/Vista无损分区软件 EASEUS Partition Master
  • 电脑动态屏保_8款电脑软件,每一款都能让你的电脑更好用
  • 网盘介绍
  • 2层框架结构柱子间距_框架结构的梁柱截面尺寸如何确定
  • Bios读文件与Grub(bootload)和initrd和内核对文件系统驱动的支持
  • Hystrix的降级与熔断测试