一,基本dos命令
这里只介绍几个最基本的命令
cd 进入目录 如:cd D:\temp 进入D盘下的temp文件夹
copy 复制文件 例如copy D:\temp\a.xls D:\temp1\a.xls 将temp文件夹下的a表格复制到temp1下
move 移动文件同copy一样,只不过一个是复制,一个是剪贴
dir 文件列表我个人认为比较实用也比较重要的一个命令,我这里重点将这个命令与excel的结合
ren/rename 重命名例如ren copy D:\temp\a.xls D:\temp\b.xls 将a.xls重命名为b.xls
mkdir 创建文件夹 例如mkdir D:\temp\新建文件夹在D:\temp下新建1个文件夹,文件夹名为“新建文件夹”
rd 删除文件夹 例如 rd D:\temp\新建文件夹 删除D:\temp\新建文件夹这个文件夹
二,批量新建文件
开始——运行——输入CMD,进入dos命令框
进入后,系统默认进入的是“C:\documents and settings\你的用户名\ ”这个文件夹
我们利用上一讲我说的CD 方法进入到D:\temp 文件夹
输入Cd D:\temp
此时界面并无反应
继续输入 D: (这句的作用是更改盘符为D:)
哈哈,是不是进入到了D:\temp
进入到D:\temp文件夹后,我们来看看,我们可以做一些什么?
我们假设D:\temp这个文件夹是空的,里面没有文件
现在我们先批量添加30个文本文档,文档名称分别为1.txt ~30.txt,内容分别输入1~30
步骤如下
1、打开excel, 在A1单元格输入 echo 1 ,B1 单元格输入 >1.txt
2、下拉填充至A30和B30单元格
3、复制A1:B30
4、粘贴回dos界面 (右键——粘贴)
回到D:\temp文件夹,下面是不是多了30个文本文件?
哈哈,是不是很神奇,很快捷。
的确,比一个一个新建方便多了
这是我的创新做法,一下子可以创建很多不同格式的文件
三,批量更改文件名
上面讲了批量新建文本文档,但是,可能文件名并不是我们想要的,例如,我们想要改掉这些文件名,将它们变为20100501~20100530怎么做呢?
步骤:
1、cd D:\temp进入temp 文件夹
2、dir /b>aa.xls 这句是列举出所有的temp文件夹下的文件,然后输出到aa.xls文档中(看看D:\temp下面是不是多了一个aa的excel文档?
3、打开aa.xls,可以看到temp下的所有文件都列举在A列了,我们在B列输入想要更改的名字,假设为20105010.txt ,下拉填充
4、在C列输入公式 ="ren "&A1&" "&B1,下拉填充
5、复制C列的内容至dos命令框
四,批量更改文件名的错误处理
依照第3讲的办法重命名了之后,有的时候会出现一些问题。
比如说,我要将20100501.txt重命名为2010 05 01.txt ,中间加了空格之后,我们看看依照上面的方法能不能正常处理
出现了命令语法不正确的错误,批处理程序未能正确的命名完成
那么,应该如何解决呢?
我们只需要在文件名两边加上引号就可以了
但是,因为利用函数的时候我们也会输入引号,为了避免excel输入函数的时候不能处理引号,我们先将文件名两端的引号用一个特殊符号来代替,例如用@来代替,然后通过替换来替换成引号
整个操作过程如下:
这样,就能处理文件名中出现的空格或其他特殊符号了。
五,批量移动文件
我们假设我们有多个txt文档,文档的名称分别为“北京0501.txt”~“北京0530.txt”,“上海0501.txt"~“上海0530.txt”,“广州0501.txt"~“广州0530.txt”,
现在,我们要在temp下新建3个文件夹,名称分别为“北京”,“上海”和“广州”
然后根据根据文本文档的标题将文档移动到各种的文件夹中
1、新建文件夹
我们可以手动新建文件夹,然后重命名,也可以像下面这样,先写好代码然后粘贴到dos命令框中,新建的命令为mkdir
2、批量移动文件
步骤
1、新建一个文本文档,输入
move *北京* 北京
move *上海* 上海
move *广州* 广州
2、保存该文档,然后将文档重命名,扩展名改为.bat,批处理文件
3、双击该bat文件
这里不用dos命令框的原因是,用记事本生成了bat批处理文件之后,以后如果有新的文档,只需双击该批处理文档即可完成文档转移
如上图,增加了广州0533.txt后,双击移动.bat文档,新加入的文档自动被分配到指定文件夹中去了。
六,批量新建文件夹并移动文件
如果我们更复杂一点,要将每一天的文本文档都建立一个单独的文件夹,然后将每天的文档单独放入该文件夹中。例如,新建“上海0501”文件夹,将“上海0501.txt”移动到该文件夹中。
如果手动操作,光建立不同的文件夹就得建立90个
我们来看看dos和excel结合怎么快速解决这个问题
步骤
1、dos命令框中输入:dir *.txt /s /d >aa.xls(输入temp文件夹中的所有txt文档类型的文件到新建的aa.xls文档中)
2、打开aa.xls ,B1输入公式。="mkdir "&LEFT(A1,LEN(A1)-4),然后下拉
3、复制B列到DOS命令框,
这样就完成了新建文件夹的工作
下面我们来批量移动文件
步骤
1、仍然是刚才的aa.xls ,继续在C列输入公式 ="move "&A1&" "&LEFT(A1,LEN(A1)-4),下拉
2、复制到Dos命令框
上面这两步也可以合并起来做
公式为="mkdir "&LEFT(A1,LEN(A1)-4)&"|move "&A1&" "&LEFT(A1,LEN(A1)-4)
两段代码之间用“|”连接
这样,就能快速的完成新建文件和移动文件的操作了。
七,将文件夹中的文件批量剪出来
我们再来看上一讲的逆操作,即将所有文件夹中的文件都剪切到同一个文件夹中
步骤
1、dos命令框中输入 dir /s /b>aa.xls(输出所有文件和文件夹到aa.xls文件,如果只需要输入特定的文件,则可用通配符,例如上一讲讲的*.txt )
2、打开aa.xls文件,查找或者筛选“.”,这样找到的是所有的文件,剔除了文件夹(如果上一步查找的是*.txt文档,则不需要这步
3、输入公式 ="move " &A1 下拉
4、粘贴回dos命令框
不明白的。点击阅读原文。