windows的cmd命令、批处理及批量修改

        在如今这个图形用户界面发展的今天,普通用户对命令行的依赖度不再那么高,但是对于从事相关行业的人来说,其拥有不可忽视的作用,同时对于使用命令行操作系统的人来说,对命令行更是不陌生,在常用的windows系统中也是可以编写命令行脚本的,那就是cmd命令行。

cmd介绍

        cmd(Command Prompt)是指命令提示符即在操作系统中,提示命令输入的一种工作提示符。不同的操作系统类型不同,以windows为例介绍cmd.exe命令行程序,是微软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指令,格式为rename a.txt 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&""

就会得到命令形式,如下:

 

由于部分文件有空格,这是会导致错误的,所以我们用不含空格的文件重命名作为演示,将不含空格的文件重命名指令写入一个txt文件,并更改此文件为批处理文件即将后缀更改为.bat或.cmd即可,然后双击运行该文件

 

 结果如下,其中前面含有的后缀名可以通过excel删掉(字符截取即可),功能实现。

         对于含有空格的文件名,同样可以在excel中使用替换直接替换掉空格然后执行上述操作即可,不作赘述。

5、python实现批量重命名

        为提高兼容性,同时也可以使用python来批处理文件重命名,先获取所有文件名,做名称分割,而后使用os.rename()改变文件名即可。这涉及编程知识,也需要安装python开发环境。

获取路径下的文件名的Python代码如下所示:

1    # -*- coding: utf-8 -*- 
2    import os 
3  
4    def listdir(path, list_name): 
5      for file in os.listdir(path): 
6        file_path = os.path.join(path, file) 
7        if os.path.isdir(file_path): 
8            listdir(file_path, list_name) 
9        elif os.path.splitext(file_path)[1]=='.jpeg': 
10           list_name.append(file_path)

python获取文件并修改文件名的代码如下:

# -*- coding: utf-8 -*-
import os
#设定文件路径
path='C:\\' #这里的文件路径根据具体情况而定,即你的文件在哪个位置
i=1
#对目录下的文件进行遍历
for file in os.listdir(path):
#判断是否是文件
    if os.path.isfile(os.path.join(path,file))==True:
#设置新文件名
#        new_name=new_name  #这里的new_name就是你需要修改的文件名,视具体情况而定
#重命名
        os.rename(os.path.join(path,file),os.path.join(path,new_name))
        i+=1
#结束
print ("End")

 python编程修改需要具体情况具体分析,不可一成不变,这里不再作举例介绍。

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值