windows的cmd命令、批处理及批量修改
在如今这个图形⽤户界⾯发展的今天,普通⽤户对命令⾏的依赖度不再那么⾼,但是对于从事相关⾏业的⼈来说,其拥有不可忽视的作⽤,同时对于使⽤命令⾏操作系统的⼈来说,对命令⾏更是不陌⽣,在常⽤的windows系统中也是可以编写命令⾏脚本的,那就是cmd 命令⾏。
行政强制措施
cmd介绍
cmd(Command Prompt)是指命令提⽰符即在操作系统中,提⽰命令输⼊的⼀种⼯作提⽰符。不同的操作系统类型不同,以windows为例介绍命令⾏程序,是微软windows系统基于windows上的命令解释程序,类似于Dos操作系统。
2、打开⽅式
在win7和XP操作系统有多种⽅式打开cmd窗⼝,这⾥介绍三种⽅式。
1、按下键盘上的win键(微软logo),在搜索框输⼊cmd回车即可打开,默认为从C:/users/system32路径;
2、按下win+R键,输⼊cmd,同理打开cmd;
3、有时候需要在特定⽬录打开cmd窗⼝,这时可以打开相应⽂件夹,在路径栏输⼊cmd回车即可,如图1.
3、cmd原⽣命令
沿⽤原⽣的Dos命令,可以通过help来查看windows带有的原⽣命令,只需要在cmd窗⼝输⼊help指令即可,⼀般来说,相应的命令都带有简单的⽂档描述,还有可选参数,如图2:
梁静茹 问
可以看到,相应的命令之后带有简单描述,以help指令为例,它可以提供windows命令的描述,简单来说,就是可以调⽤内部⽂档来简单指明指令的作⽤,格式为:
help [cmd]
⽐如我们查看⽤help来查看help指令的作⽤,如图3:
可以看到help命令就⼀个可选参数,就是命令,输⼊后可以查看指令的作⽤。
同理使⽤help dir查看dir指令的作⽤--可以显⽰⽬录中的⽂件和⼦⽬录列表,可以看到有很多可选命令 ,只输⼊dir时,默认显⽰本路径下的⽂件和⽂件夹;加⼊可选参数后如dir /ah命令就表⽰显⽰当前路径下的隐藏⽂件---需要知道的是计算机中⽬录也是⽂件。其他的命令不作过多介绍,使⽤help指令可以理解⼀部分⽤法,这⾥介绍⼀些常⽤的命令。
1、copy命令:复制命令,就是键盘的ctrl+c-v,命令格式是:
copy res des
即把⽂件res复制⼀份且⽂件名为des,其中⽂件可以指定路径如copy C:/a.txt D:/b.txt.
刘萌萌素颜2、dir显⽰路径下的⽂件,其中dos命令也⽀持通配符,即“.”代表⼀字符,“*”代表若⼲字符,还有其它⽤法,这⾥主要介
绍“*”通配符。例如当你想要在⼀个⼤量⽂件的⽬录下筛选出所有的docx⽂件,⽬录中可能含有.pdf⽂件,.png⽂件等等,这会给筛选带来难度,因此可以使⽤dir *.docx就会匹配所有的docx⽂件并显⽰到屏幕上。
3、写⼊⽂件,可⽤echo和cd命令,格式为:
echo/cd [content] .>file(如a.txt)
其中⽂件存在时会⽤content覆盖源⽂件,⽂件不存在时会⾃动创建⼀个⽂件并写⼊内容,如图4.
4、rename指令,格式为 b.txt即把a⽂件名改为b⽂件名,对其他⽂件处理类似。但注意的是⽂件名中不可存在空格,存在空格就会打乱命令格式,导致命令实现出错,这就是⽂件命名需要规范的原因。
李菁菁老公张金华
5、cd命令,cd就是change directory的意思,就是可以切换⼯作路径,⽐如从C:/切换到C:/Users,在C:/下执⾏以下指令即可。cd Users
那么在图形化界⾯占绝对优势的今天,这些繁杂的命令有什么⽤处呢?答案是实现简单的批处理,来看⼀个实例:假如现在你收到了⼀堆⽂件,命名⼗分不规范,你需要把⽂件名按结构化的形式命名,例如在原有⽂件名的基础上加上公司的名称,⾸先⼀步步改必然⼗分⿇烦,此时可以借助于批处理⽂件--批处理⽂件就是⽤cmd指令写的脚本,可以执⾏⼤量重复的⼯作⽽减轻⼯作负担。
4、实现
此实现需要借助于excel表格实现,因为我们需要在原有⽂件名的的上加上公司名称,使⽤excel⽅便我们附加上名称,这是cmd命令不能实现的。
1、假如有如下⽂件⽬录,有众多的⽂件且命名不规范
2、前⾯已经得到dir指令可以快速获得⽂件名,⽽使⽤.>可以写⼊⽂件,同时rename指令可以重命名⽂件,所以我们可以把⽂件名都写⼊⼀个excel表格,在excel表格完成 批量附加后执⾏批处理命令就可以完成重命名。其中dir /b命令是只获取⽂件名,使⽤
dir .b .>rename.xlsx
就是把所有⽂件名写⼊到rename.xlsx⽂件中。如图5
就可以得到⼀个xlsx⽂件和⽂件内容如下:
罗伯特-德尼罗借助于excel处理,我们⽤ =""&A1&"+你的公司名称"&RIGHT(A1,4)&""对第⼀⾏单元格内容提取并放到B1单元格,使⽤填充柄⼀并处理所有⽂件就可以得到所有修改后的⽂件名,⽽后因为要使⽤rename指令,所以再在C1单元格使⽤
"rename "&A1&" "&B1&""
就会得到命令形式,如下: