2022年bat批处理详解[参 .pdf

上传人:Che****ry 文档编号:27261348 上传时间:2022-07-23 格式:PDF 页数:14 大小:103.98KB
返回 下载 相关 举报
2022年bat批处理详解[参 .pdf_第1页
第1页 / 共14页
2022年bat批处理详解[参 .pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《2022年bat批处理详解[参 .pdf》由会员分享,可在线阅读,更多相关《2022年bat批处理详解[参 .pdf(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、大家知不知道默认共享这回事?这东西用不着的地方可就不是好东西了所以就要删掉但这东西是每次系统重起后都会重新创建的所以每次都要重新打开cmd 重新删掉一下极为麻烦 但有了批处理文件就不一样了,先把命令输入到批处理文件中,然后加入到启动项中, 每次启动就会自动运行,免去了每次输入命令的麻烦至于怎么写这个批处理文件嘛,到文章的结尾我会告诉大家的,但不知道在我写完之前会不会睡着呢?如何创建批处理文件?不要听了批处理文件就感到很神气,其实这东西很简单的你用过记事本没有?用过?好的将记事本打开,什么都不用写,然后选择文件,保存保存类型选择所有文件,文件名则命名为bat 这个代表是文件名,你可以随便的起保存

2、好之后,看看你保存的地方,会出现一个白色窗口里有个黄色齿轮的图标这东西就是你创建的批处理文件,双击他就可以运行, 但他现在由于里面没有输入任何命令,所以他运行了并不会做任何事情当我们想往这个 .bat文件中添加东西时,只要右键选择他,然后选择编辑,就可以打开记事本往内输入命令了批处理文件中的命令是什么?批处理文件中的命令暂时先可以理解为dos 命令,等稍后深入理解了以后再进行解释批处理顾名思义就是一大堆东西堆在一起处理换句话说就是往里面写一条条dos命令,然后按顺序挨个执行,效果跟你在cmd里敲 dos命令是一个效果 只不过用批处理写好之后,要运行只要双击下就可以运行了而不用再一遍一遍的重复的

3、往里面打命令这就是批处理文件的好处除了运行dos命令之外,他还可以支持选择结构if,循环结构for, goto等,与 c 有点类似,但远没有c 全面,并且编写语言十分不规范批处理语法:先讲个最基本的东西echooff echo 的意思是回旋,这里的意思就是回显,echooff 意思就是关闭回显前面的表示echooff这一行也不会回显你可以试着去掉和整行去掉 的另一个功能是在执行完批处理文件时自动恢复命令回显。如果第一句用的是ECHOOFF ,那么在执行完批处理文件以后不会显示命令提示符。举个例子:如果我们先创建一个bat文件,往里面输入:dir然后保存在c:下然后我们运行cmd,进入 c 盘根

4、目录下,输入bat,则显示:C:>dir 驱动器 C 中的卷没有标签。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - 卷的序列号是0C5D-07FF C:的目录2004-08-2500:45WINDOWS 2004-08-2500:51DocumentsandSettings . C: 如果将 bat内容修改成echooff dir 然后再在cmd里输入 bat,则会显示C:>echooff/ 因为运行了echoo

5、ff ,所以没有显示dir 命令,直接显示了结果驱动器 C 中的卷没有标签。卷的序列号是0C5D-07FF C:的目录2004-08-2500:45WINDOWS 2004-08-2500:51DocumentsandSettings C: 如果将 bat文件修改成:echooff dir 则显示成:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 14 页 - - - - - - - - - C:>1.bat/ 与前面不同, 并没有显示echooff , 原因是加了

6、, 所以不显示后面的内容又因为加/了 echooff ,所以后面的命令不显示,直接显示结果驱动器 C 中的卷没有标签。卷的序列号是0C5D-07FF C:的目录2004-08-2500:45WINDOWS 2004-08-2500:51DocumentsandSettings C: 通过以上的比较,相信你对echooff命令已经充分掌握了现在已经点了 写得累啊! ! !洗澡睡觉去了早晨点就被拉起来了 我命苦啊,那么继续写吧接下来讲的是call命令:call是打电话的call,而不是喔靠的靠:) call的意思为调用假如有个批处理文件 a.bat和 b.bat 如果我想运行a.bat的当中运行b

7、.bat 如何运行呢?其实很简单,只要在 a.bat文件中输入call命令,则可以在a.bat运行的当中,运行b.bat ,等 b.bat运行完之后,继续执行 a.bat call命令格式:CALLdrive:pathfilenamebatch-parameters batch-parameters 指定批处理程序所需的命令行信息。举例如下,我们在c 盘根目录下创建abat文件,内容为 : echothisisa.bat 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 1

8、4 页 - - - - - - - - - calld:b.bat echodone 然后在 d 盘根目录下创建b.bat ,内容为:echothisisb.bat 保存后,打开cmd,进入 c 盘根目录,然后输入1.bat ,显示如下:C:>a.bat C:>echothisisa.bat thisisa.bat C:>calld:b.bat C:>echothisisb.bat thisisb.bat C:>echodone done 由例子很容易看出来,是先运行a.bat的内容,直到遇到callb.bat后,则调用b.bat ,运行完 b.bat后,再返回a

9、.bat接着运行callb.bat后面的 echodone语句,直至将a.bat的所有批处理命令运行完注:里面有个 batch-parameters 里面的所指的参数是什么,知道的朋友能否告知,不胜感激PAUSE命令暂停批处理程序的执行并显示一条消息,提示用户按任意键继续执行。只能在批处理程序中使用该命令。rem 命令:表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 14 页 - -

10、 - - - - - - - 同时你可以用两个冒号来替代rem如: :等同于一个rem但他们有个区别,就是用:作注释的话他是不回显的,即使你打echoon强制回显也没有同的同时 rem 可以在 config.sys中加注释语法: remcommnet 批处理文件参数:有点变成基础的人都知道函数有参数批处理文件也有参数我打个比方,希望能帮助没有语言基础的人也能看的非常明白我从例子里开始吧首先在c 盘根目录下创建一个批处理文件abat,里面输入内容echo%1 然后打开cmd,然后进入c 盘根目录输入:athisisacanshu 得到结果如下:C:>a.batthisisatest C:&

11、gt;echothisisatest thisisatest 输入的 athisisacanshu 中, a 为新建的a.bat的文件名a(后面的 .bat可写也可不写) ,而a 后面的 thisisacanshu 这句话就是参数,写在这的参数,在程序运行中就将参数自动放到批处理程序中去那么放在什么位置呢?就是放在%1 的地方看了例子,让我们看看整个关于参数的定义如何:批处理文件还可以像C 语言的函数一样使用参数(相当于DOS命令的命令行参数) ,这需要用到一个参数表示符%。%1-9 表示参数, 参数是指在运行批处理文件时在文件名后加的以空格(或者 Tab )分隔的字符串。 变量可以从 %0

12、到 %9,%0 表示批处理命令本身,其它参数字符串用%1 到%9顺序表示。 /我们上个程序的例子里就有,他就是参数,而输入中thisisatest 作为参数就直接放到的位置,于是程序就变成了echothisisatest 再举几个例子帮助你理解:C:根目录下一批处理文件名为b.bat ,内容为 : 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 14 页 - - - - - - - - - echooff type%1/type为dos 中的输出命令,可以用来输出文本文件

13、的内容,比如我们新建一个 txt文件/里面输入内容,保存进cmd,如果输入txt则看不了txt文件内容,但是如果我/想看怎么办呢?这时候可以用type命令,只要在cmd里输入 type txt 就能显示/ txt文件中的内容了type%2 那么运行C:>ba.txtb.txt %1:表示 a.txt %2:表示 b.txt 于是上面的批处理命令就变成了echooff typea.txt typeb.txt 于是上面的命令将顺序地显示a.txt和 b.txt文件的内容。没有编程基础的人可能要问,干什么要弄个参数啊?在后面加个参数多麻烦啊?直接往里面写不就好了啊?!其实这样想有对的方面也有错

14、的方面还是举个例子说明吧第一步还是在c 盘根目录下新建一个批处理文件,我们取名仍为a.bat 往里面的内容输入为:ping%1/ping 命令可以简单理解为测试一台机器开着还是没有开,如果开着的话, 他就回给你回送回应然后进 cmd,我们想测试下的服务器是不是开着,则输入对于知道ping命令的人,可以打ping进行检查,但如果想ping的人不知道ping命令怎么用, 那怎么办啊?这时候你就可以把命令预先输入到批处理文件中,保存好, 然后让不会用的人进cmd,运行你的批处理文件,文件名后面加上他要ping的网站地址就行了换句话名师资料总结 - - -精品资料欢迎下载 - - - - - - -

15、- - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 14 页 - - - - - - - - - 说,他想ping就直接加的网址,想pingsina就直接加sina的网址这样只要输入一个参数,而不用改程序本身,整个程序的通用性就大大提高了这是对于一个简单的ping命令, 你或许觉得用参数不值得,还是直接改不就好了啊但如果程序有很多条,你一下找不到在哪改怎么办啊?所以,不管你是菜哥,菜弟,菜姐,菜妹,只要运行下,输入参数,结果自己就会出来,不用再象你一样,考虑怎么编写批处理文件人家只要知道是输入什么东西能让批处理程序运行,而编写的人则想的是如何让

16、不懂程序的人能运行程序批处理参数就这么简单,不知道你理解了没有?但如果你想深一步了解批处理参数,可以接着往下看,如果不想深入了解,知道现在这么多也就够了以下粉红色内容为网上资料因为参数只有,但当我们要引用第十个或更多个参数时,就必须移动DOS 的参数起始指针 .shift 命令正充当了这个移动指针的角色,它将参数的起始指针移动到下一个参数,类似 C 语言中的指针操作.图示如下 : 初始状态 ,cmd 为命令名 ,可以用 %0 引用cmdarg1arg2arg3arg4arg5arg6arg7arg8arg9arg10 &line;&line;&line;&line;&line;&line;&l

17、ine;&line;&line;&line; %0%1%2%3%4%5%6%7%8%9 经过 1 次 shift后,cmd将无法被引用cmdarg1arg2arg3arg4arg5arg6arg7arg8arg9arg10 &line;&line;&line;&line;&line;&line;&line;&line;&line;&line; %0%1%2%3%4%5%6%7%8%9 经过 2 次 shift后,arg1也被废弃 ,%9指向为空 ,没有引用意义cmdarg1arg2arg3arg4arg5arg6arg7arg8arg9arg10 名师资料总结 - - -精品资料欢迎下载 -

18、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 14 页 - - - - - - - - - &line;&line;&line;&line;&line;&line;&line;&line;&line;&line; %0%1%2%3%4%5%6%7%8%9 遗憾的是 ,win9x和 DOS下均不支持shift的逆操作 .只有在 nt 内核命令行环境下,shift才支持/n 参数 ,可以以第一参数为基准返复移动起始指针. = ifgotochoicefor 高级语法今天就写到这吧,我收拾收拾东西准备滚蛋回学校了可能 i

19、fgotochoicefor高级语法要在沈阳才能完成了,祝我好运吧= 学校的 网吧 终于算重新开张了,抓紧时间把剩下的写完if命令说得通俗点,if就相当于我们白话里的如果举个例子:如果a 喜欢 b,那么 a就要娶 b这句话翻译成计算机语言就成了ifa喜欢 ba 就要娶 b当然拉,计算机不可能理解a 喜欢 b,a 就要娶 b 这两句话,这里只是举个例子让你方便理解if语句一共有3 种模式 ,如下 : IFNOTstring1=string2command IFNOTEXISTfilenamecommand IFNOTERRORLEVELnumbercommand NOT指定只有条件为false的

20、情况下, WindowsXP才应该执行该命令。ERRORLEVELnumber 如果最后运行的程序返回一个等于或大于指定数字的退出编码,指定条件为true。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 14 页 - - - - - - - - - string1=string2 如果指定的文字字符串匹配,指定条件为true 。EXISTfilename 如果指定的文件名存在,指定条件为true。command如果符合条件,指定要执行的命令。如果指定的条件为FALSE ,

21、命令后可跟一个执行 ELSE关键字后的命令的ELSE命令。我们先讲解第一种: IFNOTstring1=string2command 自然语句意思:如果string1 string2,那么执行command 下面再举个能实际应用的if语句自然语句:如果输入的参数为,那么显示a计算机语句:echooff if%1=3echoa=3 或者写成echooff if%1=3echoa=3 注意 :当要测试的时候,因在 cmd底下 ,输入 1.bat3. 因为这里用了是传递参数,具体看文章前部分 批处理文件参数. 第二种:IFNOTEXISTfilenamecommand 这条命令用语检测文件是否存在如

22、果存在,执行command 如果不存在,则什么也不显示如:我们想检查e 盘根目录下是否有一个叫.txt的文件如果存在,则显示exist如果不存在,则什么也不显示批处理命令如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 14 页 - - - - - - - - - echooff ifexiste:2.txtechoexist2.txt 第三种:IFNOTERRORLEVELnumbercommand 这个我引用点资料,感觉别人写得更详细,引用部分为粉色字部分:ife

23、rrorlevel 待执行的命令很多 DOS 程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态 ), 通过 iferrorlevel 命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。如 iferrorlevel2gotox2 =注= 返回值从大到小的顺序排列不是必须的,而只是执行命令为goto时的习惯用法,当使用 set作为执行命令时,通常会从小到大顺序排列,比如需将返回码置入环境变量,就需使用以下的顺序形式 : iferrorlevel1setel=1 ifer

24、rorlevel2setel=2 iferrorlevel3setel=3 iferrorlevel4setel=4 iferrorlevel5setel=5 . 当然 ,也可以使用以下循环来替代,原理是一致的 : for%ein(12345678.)doiferrorlevel%esetel=%e/此处为一个for 循环,后面会继续介绍到的,看不懂可以先跳过去iferrorlevel 比较返回码的判断条件并非等于,而是大于等于.由于 goto的跳转特性 ,由小到大排序会导致在较小的返回码处就跳出;而由于set 命令的 重复 赋值特性 ,由大到小排序会导名师资料总结 - - -精品资料欢迎下载

25、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 14 页 - - - - - - - - - 致较小的返回码覆盖 较大的返回码. 另外 ,虽然 iferrorlevel=command 也是有效的命令行,但也只是 解释命令行时将=作为命令行切分符而忽略掉罢了choice命令?goto命令for命令for命令其实就是一个循环命令,如果我们想重复一个语句,就可以用 for命令 .通过 for命令 ,可以控制循环的次数等. 语法 : FOR%variableIN(set)DOcommandcommand-param

26、eters %variable指定一个单一字母可替换的参数。(set) 指定一个或一组文件。可以使用通配符。command指定对每个文件执行的命令。command-parameters 为特定命令指定参数或命令行开关。在批处理文件中使用FOR命令时,指定变量请使用%variable 而不要用 %variable 。变量名称是区分大小写的,所以%i 不同于 %I. 不知道你你看懂了没有,其实还是很容易理解的,还是举个例子吧我想用 type打印所有 c 盘根目录下的bat文件和 txt文件 dos底下命令就是type bat.txt 先将该文件保存在 c 盘根目录下 ,名称为 a.bat 用 fo

27、r命令如下:for%tin(*.bat*.txt)dotype%t %t 其实就是代表的一个参数,他的内容在in()里面括号里的内容.也就是说这句话里的%t 就变成了 *.bat*.txt了 .do 就是做的意思,执行 type 命令 ,而 type 后面是 %t, 而%t 又是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 14 页 - - - - - - - - - *.bat*.txt. 所以原来这句命令的意思就变成了: type*.bat*.txt 执行时进cm

28、d,然后到c 盘根目录下输入a.bat 就可以打印出c 盘根目录下所有扩展名为.bat和.txt的文件内容了. 这里要注意:in后面有个空格在 xp 底下 ,for命令扩展名被起用因此for的功能变得更加强大.下面讲一个真正的循环. FOR/L%variableIN(start,step,end)DOcommandcommand-parameters 该集表示以增量形式从开始到结束的一个数字序列。因此, (1,1,5) 将产生序列12345 , (5,-1,1) 将产生序列 (54321) 里面第一个1在 start的位置 ,意思是起始位置,第 2个 1在 step位置 ,英文意思是跨步,在这

29、里面的意思是每次增量为1.后面的 5 在 end的位置 ,意思是结束时的大小. 这句话的意思就是从1(start) 开始增加 ,每次增加1(step), 一直到变到5(end)为止 . 这个有什么用呢?其实我感觉这个东西的用处还是很大的.举个最简单的例子,我们想重复回显 iamthebest 这句话 ,重复显示10遍 .那么 for命令如下 : for/L%ein(1,1,10)doechoiamthebest 这时 ,cmd就会重复输入iamthebest10 遍. = 看完整篇文章了吗?咳.我写的不容易啊. 现在不知道你对bat 有了什么样的理解,我现在的感觉就是bat 就是 dos 命令

30、的组合,你把 dos命令全写进bat命令,只要运行下bat就会挨个执行dos命令,这无疑提供了不少的方便。下面我再举些实例. 删除默认共享: 对于默认共享不知道你了解多少,反正留着是个隐患,现在唯一的办法好象只能做个bat名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 14 页 - - - - - - - - - 文件进行删除 .命令如下 : netshareipc$/delete netshareadmin$/delete netsharec$/delete nets

31、hared$/delete netsharee$/delete 里面的 cde为你的盘符。 如果你只有一个分区,那么写到 netsharec$/delete 为止就可以了。如果你有n 个分区,那么就挨个写下去。netshared$/delete netsharee$/delete netsharef$/delete netshareg$/delete登陆到局域网的机器快捷方式(对方机器有密码且为2000或以上系统 ) netuse192.168.0.1 密码 /user: 用户名 explorer192.168.0.1 bat文件备份注册表setregfile=%date%/ 设置变量,下面出

32、现%regfile% 的都自动替换 “ 当天 date”ifexist%regfile%gotoend/如果发现当天date命名的目录,跳到文件尾。mdtemp/ 建 temp目录call1.bat/ 调用 1.bat del1.bat ren2.bat1.bat 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 14 页 - - - - - - - - - ren3.bat2.bat ren4.bat3.bat echomove%regfile%temp>4.ba

33、t/写移动 “ 当天 date命名的目录 ” 到 temp的 bat文件。md%regfile%/ 建当天 date命名的目录cd%regfile%/ 进入regexporthkcuhkcu.reg/导出注册表regexporthklmhklm.reg /HKEY_CURRENT_USER 缩写 hkcu。存放当前用户个人数据/HKEY_LOCAL_MACHINE 缩写 hklm。系统的核心数据cd. deltree/ytemp>nul/返回上级目录,删temp文件夹:end名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 14 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com