Bat(批处理)⽂件编写⼿册(⼀)
⼀、批处理常⽤的DOS命令
显⽰此命令后⾯的字符(字符不需要加引号)
【扩展】
中国象棋比赛规则
其中,^不能显⽰;
ehco.表⽰换⾏,中间不能空格,同样,,:;"/]+\这些符号也是⼀样的效果;
答复命令中的快捷回复,⽐如我们需要rd删除某个⽬录,回车后会提⽰(Y/N),需要⼿动确认,但我们也可以快捷回复,如 echo Y | rd /s E:\mybat;
向⽂件⾥写内容,echo hello word > E:\,注意有该⽂件则清空内容,重新写⼊新内容,没有则创建,写⼊内容,如果需要追加内容,可以使⽤,echo mybat >> E:\ 两个>>表⽰追加写⼊,后续会讲>跟>>;
echo off跟echo on
此语句后⾯所有运⾏的命令都将 不显⽰/显⽰ 命令⾏本⾝,即 关闭/打开 echo回显功能。
2.@命令
此命令加在其它运⾏时需要不显⽰的命令⾏的最前⾯,即运⾏时不显⽰该⾏命令⾏(之影响当前⾏)。如:@echo off(常这样搭配使⽤,将不显⽰所有的运⾏命令,包括本⾝这⾏)
3.pause命令
在批处理⽂件中,加⼊此命令会暂停批处理⽂件的执⾏,并提⽰:请按任意键继续. . .
<命令
注释作⽤,不执⾏该命令后⾯的内容。如:rem 这是⼀条注释
5.::命令
注释作⽤,区别在于,echo处于打开状态时,rem如果前⾯没有加上@,注释内容将会显⽰出来,⽽此命令,在不加@的情况下也是不显⽰注释的。如::: 这是⼀条注释
6.call命令
类似于函数调⽤,在⼀个批处理⽂件中,调⽤另⼀个批处理⽂件,如果不加上call的话,执⾏完调⽤的批处理⽂件后,将⽆法返回当前批处理⽂件,并继续执⾏当前批处理⽂件的后续命令。注意,该⽅法是调⽤,即运⾏在同⼀个cmd窗⼝之中。
7.cd命令
在同⼀分区下切换:直接cd 路径
在不同分区下切换:cd /d 路径
【扩展】
get up是什么意思%cd%:显⽰当前的完整路径, 如:echo %cd%
8.dir命令
显⽰⽬录中的⽂件和⼦⽬录列表
【扩展】可能很多时候,我们需要某个⽂件,直接dir ⽬录的话,⼀下⼦刷屏了,此时,我们可以使
⽤dir /P [⽬录]:在每个信息屏幕后暂停;我们发现我们查看的时候有很多我们并不关⼼的数据,时间,创建者等信息,此时我们可以使⽤:dir /B [⽬录]了解更多相关命令可以⾃⾏查。
9.attrib命令
显⽰或更改⽂件属性,⽂件属性分为R - 只读⽂件属性、A - 存档⽂件属性、S - 系统⽂件属性、H - 隐藏⽂件属性。如:查看⽂件属性:,更改⽂件属性:attrib +(设置⽂件的属性为隐藏);清除⽂件属性:attrib -(删除⽂件的隐藏属性)。
如需将某⽂件夹中的某类⽂件做属性处理,可以使⽤*号(匹配任意字符),如:attrib +H bat学习\*.bat(将 bat学习 ⽂件夹中的所有bat⽂件设置为隐藏属性)注意,只是作⽤于当前⽂件夹中,不作⽤于其⼦⽬录下的bat⽂件;如需将某⽂件夹及其⼦⽬录下的所有某类⽂件做属性处理,可以通过/s,如:attrib -H bat学习\*.bat /s(将 bat学习 ⽂件夹及其⼦⽬录下的所有bat⽂件设置为隐藏属性)。
10.del命令
删除命令,参数有:/P - 删除⽂件时会进⾏提⽰确认、/S - 从所有⼦⽬录删除指定⽂件、/Q - 删除时,不做确认,默认允许、/A - 根据属性删除⽂件。如:删除 bat学习 ⽂件夹中的所有只读的txt⽂件 del /ar bat学习\*.txt(注:/a[attrib参数])
复制⽂件,注:只能复制⽂件,不能复制⽂件夹。如:copy C:\ D:\(将C盘中的⽂件复制到D盘中);在复制时如需更改其⽂件名及格式,如:copy C:\ C:\mybat.bat(将复制并更改为mybat.bat);
在当前⽂件中,如需将其⼦⽬录中的⽂件复制⼀份到当前⽂件中,如:copy .\⼦⽬录1(就是将⼦⽬录1中的所有⽂件,复制⼀份到当前⽬录下);如需将某个⽂件夹中的⽂件复制到另⼀个⽂件夹中,如:copy ⽬录1 ⽬录2(注,这不是复制⽂件夹,第⼆,且两个⽂件夹都是存在的,第三,如果⽬录1下⾯还有⼦⽬录,将不会被复制,只会复制⽬录1中的⽂件)
合并⽂件, + (将的内容与的内容进⾏合并,并赋值在中);如果,在合并的时候,没有传⼊合并之后的⽂件名,那么合并之后的内容将会覆盖在传⼊的第⼀个⽂件中,如: + (最后合并的⽂件内,将会覆盖内容)。注意,在合并图⽚或者歌曲这样的⼆进制⽂件时,必须使⽤/b参数,如:copy /b mym1.mp3 +
mym2.mp3 mym3.mp3,还有另⼀个参数是/a,即ASCII码,⽤于纯⽂本⽂件的合并。
复制⽂件(夹),如xcopy /s ⽬录1 ⽬录2(将⽬录1下的所有⽂件及⼦⽬录下的所有⽂件(夹[⾮空⽬录])复制到⽬录2中,注:/s参数不能省,是为了作⽤于其下⾯的所有⼦⽬录中,省去,跟copy的效果是⼀样的了)其它参数,/e参数,跟/s区别在于,/e会复制空的⽬
录;/h参数,前⾯提到的参数,默认是不会复制系统⽂件跟隐藏⽂件的,⽽区别于/s参数,就是会复制系统⽂件跟隐藏⽂件,可以与/e搭配使⽤,如xcopy /e /h ⽬录1 ⽬录2
【扩展】
copy命令与xcopy命令,在使⽤的过程中,如果复制的⽬录下有同名的⽂件,将会提⽰是否覆盖,需要输⼊y,如果我们需要默认确认的话,可以在复制的命令最后加上/y,如:copy ⽬录 ⽬录2 /y即表⽰默认覆盖。
13.md命令
创建单个⽂件夹。如:md mybat(在当前⽂件夹中,创建⼀个mybat⽂件夹),可带路径,如果创建的⽂件夹名称中,带有空格等,需要⽤引号引起来,如:md "my bat";
创建多个⽬录,如果名称中有空格,不⽤引号引起来的话,就是同时创建多个⽂件夹,如:md my bat,执⾏后你会发现,创建⼀个my⽂件夹跟⼀个bat⽂件夹,同时创建多个⽂件夹时,⽤空格隔开。
创建多级⽬录,如:md 1a\2a\3a\4a\5a(将会创建⼀个1a⽂件夹,在1a⽂件夹中创建⼀个2a⽂件夹,在2a⽂件夹中…),⼀键搞定。14.rd命令
删除⼀个⽬录。先说参数吧,/s,除⽬录本⾝外,还将删除指定⽬录下的所有⼦⽬录跟⽂件,简单来说就是我们平常理解的删除,把这个⽂件夹跟⾥⾯的⽂件删除;/q,就是在带/s进⾏⽂件删除时的确认,不带需要⼿动进⾏确认删除。
什么参数不带,如:rd mybat,只能删除空的⽂件夹,删除不为空的⽂件夹时,需要带上/s参数,如:rd /s mybat,我们会发现需要我们⼿动进⾏删除,那么可以再携带/q参数,如:rd /s /q "my bat",同样的,如果⽬录路径中,有空格或者特殊符号等,需要⽤引号引起来。同理,rd /s /q ⽬录1 ⽬录2,可以⼀次性删除多个⽂件夹
<命令
重命名⽂件。命令:ren [path]filename1 filename2,filename1如果不传路径则为当前⽬录,filename2不需要携带路径,只要传⼊修改的名称就⾏,如:ren bat学习\mtbat mybat;
养猪成本也可以批量进⾏重命名,通过*跟?进⾏匹配重命名,如:ren mybat\*.txt *.bat(将mybat⽂件夹下的所有txt类型⽂件改为bat类型⽂件)
移动⽂件并重命名⽂件和⽬录。如:move myfile(把mybat⽂件夹下的1.txt移动到myfile⽂件夹中);move
(将mybat⽂件夹下的2.txt移动到myfile⽂件夹下并重命名为);如:move (由于已经在myfile⽂件夹中了,如果执⾏此条命令辉提⽰我们是否需要覆盖,如果需要默认的话,可以加上/y参数)如:move /y ;
上⾯介绍在同⼀分区中,如果移动的⽂件名与⽬标⽂件⽬录中的同名,则会提⽰是否覆盖,注意了,如果在不同分区中,移动的⽂件名与⽬录⽂件⽬录中的同名,则会提⽰⽂件存在,不会做任何操作。
我爱他 歌词17.find命令
iphone13和13pro在⽂件中搜索字符串。如:find "abc" (在mybat⽂件夹下的4.txt⽂件中,搜索abc字符串)返回搜索到的⾏内容,如果有多条就返回多条的⾏内容。
我只在乎你参数有/i搜索时忽略⼤⼩写;/n搜索到了的话,前⾯会显⽰所在⾏号;/c仅显⽰包含字符串的⾏数;/v显⽰不包含搜索字符串的⾏,相当于反向搜索;
18.findstr命令
跟find命令差不多,参数有:/i对搜索词不区分⼤⼩写;/r将搜索词作为正则表达式使⽤;/s在当前⽬录以及所在⼦⽬录中搜索查,如:findstr /s "self" *.txt(在当前⽬录及所有⼦⽬录下 的txt⽂件中搜索字符串self);/c⼀般⽤于对⼀个整体字符串的搜索(含有空格),如:findstr /c:"my bat" 4.txt(在4.txt⽂件中,查my bat字符串)
新⼿⼩⽩,代码写得不好,如果有理解错误的,还望⼤⽜在评论区指出来,⾮常感谢!
以上就是运⽤ Bat(批处理)⽂件编写⼿册(⼀) 的所有内容了,点赞收藏加关注是最⼤的⽀持哦!
编写不易,转载请注明出处,如有侵权,请,邮箱(896263973@qq)