加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

windows批量提取文件名的方法,批量复制文件名的方法

(2012-08-18 16:02:00)
标签:

杂谈

分类: 技术文章

如果一个目录或者一个分区有很多个文件时却想要一个一个的把文件名复制出来实在是工作量很大,效率也极低。

方法一:tree命令

TREE——显示磁盘目录结构命令  参考:http://baike.baidu.com/view/125243.htm

  功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。

格式:TREE [盘符:][\目录] [/F] [/A]

  使用说明:使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件;

       使用/A参数时,不是用Ascii码大于127(NT为255)的字符显示,是用Ascii码小于128的字符显示。


命令提示符下:开始/运行/CMD  windows 7直接输入 cmd搜索后再打开 cmd.exe
tree (要获得文件名的文件夹的路径)/f >(存放的路径/filename)
例如:要获得D盘下的所有文件的文件名,并将生成的文件保存到D盘,文件名为123.txt
可使用如下命令【注意空格
tree空格D:空格/f >D:/123.txt
实际显示命令:tree D: /f >D:/123.txt

小提示:
可以先在记事本中写好,将其粘贴(注意:不能用Ctrl+V)到cmd.exe程序中。
例:将下列复制到cmd.exe中即可
tree D: /f>D:/123.xls

有时我们想要把一个文件夹中的所有文件名整理到一个文件中,便于管理和查询以及打印,多数是使用“复制”、“粘贴”方法(将文件夹中的文件重命名,在可编辑状态下进行复制,而后在其他文档中粘贴)。这种办法可行,但对于文件夹中有大量的文件的情况,则工作效率低,而且做完后必须核对。

  利用DOS的重定向命令“〉”加Excel的引用外部数据功能可方便快捷的实现。

  假设我们要提取C盘下的Windows目录下的所有文件及文件夹名。

  第1步:在DOS或Windows 98的MS-DOS方式下,输入如下命令:C:\windows\dir〉d:\1.txt(回车)

  第2步:打开一个新的Excel XP电子表格,单击工具栏中的“数据”下拉菜单,选择“导入外部数据→导入数据”命令,打开“导入数据”对话框,在“查找范围”中找到D盘下的1.txt文档,单击“打开”,进入“文本导入向导-3步骤之1”。

  第3步:在“原始数据类型”单选框中选“分隔符号”后按“下一步”,进入“文本导入向导-3步骤之2”。

第4步:在“分隔符号”复选框中选“分号、逗号、空格、其他”,并在“其他”后的空格中填“.”,按“下一步”,进入“文本导入向导-3步骤之3”。

第5步:单击“完成”,出现“导入数据”对话框, 选择“现有工作表”单选框后按“确定”。

 到了这里,你应可以看到8列数据,第一列便是所要的“文件名”。但是,DIR命令的显示的中文文件名只显示3~4个汉字,别急,看看第7列(G列),所有的完整的文件名都在这里(如图4)!第8列是文件名的后缀,方便于筛选(对于Excel 2000,所不同的是在工具栏中的“数据”下拉菜单下,选择的是“获取外部数据/导入文本文件”命令)。

  至此,你就可以用Excel来编辑这些文件名了。


说简单点就是:

命令提示符下: (开始/运行/CMD)
tree (要获得文件名的文件夹的路径)/f >(存放的路径/filename)
例如:要获得C盘下的所有文件的文件名,并将生成的文件保存到D盘,可使用如下命令:

tree C: /f >D:/contents.txt

操作及效果图:

只列出目录:

http://hiphotos.baidu.com/lifenghui20/pic/item/af12a6fc2870a332d7887dac.jpg

列出目录结构及所有的文件名:

http://hiphotos.baidu.com/lifenghui20/pic/item/dfc58ec5b23972de8326acb5.jpg

不过个tree命令好像无法指定文件类型。dir可以做到,如下

方法二:dir命令
dir c:\ >d:\123.txt
将C盘根目录里的文件夹名和文件名都保存在D盘目录下的123.txt里,此文件可导入excel作进一步处理。dir可加参数 /w 等。

dir D: /s/b > E:/contents.xls   这样可以直接把D盘下的文件名都提取出来并创建contents.xls存放到E盘的根目录下。

dir (要获得文件名的文件夹的路径)/s/b > (存放的路径/filename.txt

dir是列表目录,这个知道吧?

/s 是指列出当前目录包含子目录下的所有文件

/b 是仅列出文件名称,而日期、大小等其它信息则忽略

E:/contents.xls将列出的文件名保存在E:/contents.xls

也可以这样
开始——运行——输入CMD回车
进入你的MP3目录,输入:
dir >> 123.txt
回车
目录列表就到了123.txt这个文件里了。如果不需要导出日期时间那么可以加上/B参数:

dir >> 123.txt /b

http://hiphotos.baidu.com/lifenghui20/pic/item/0ffb07d1c27ea0f8a1ec9cb6.jpg

 

 指定提取文件名的文件类型:如mkv

进入到相应的盘符或者目录,然后 dir *.mkv>>555.txt  这个命令意思为:把X盘根目录下的所有 mkv文件名并带上最后修改时间都提取出来

存放到X盘根目录下的 555.txt 这个文本文件里面。

如果在其它盘符可以这样: dir x:\*.mkv > e:/321.txt   或者不要\     dir x:*.mkv > e:/321.txt

http://hiphotos.baidu.com/lifenghui20/pic/item/5d71aeee0a977a41adafd597.jpg

http://hiphotos.baidu.com/lifenghui20/pic/item/b6682fec36e7baa3b21cb18d.jpg

其他:
若是音乐文件,可将音乐文件拖进千千静听等播放软件,然后另存为播放列表。此列表用记事本打开即可查看

 方法三:使用批处理

@echo off
dir /a-d /b >./list.txt

把上面两句代码用记事本保存为“list.bat”(不要引号)

然后把这个文件放到你要提取文件名的文件夹里,就是在这个文件夹里生成一个“list.txt”的文档,复制这个文档到EXCEL里就可以了。

这个批处理放到哪个文件就会提取所在目录所有文件名并保存。

注意:list.txt,list.bat。也会在那个文档里,注意删除。

 如果按时间来排序的话就是这样写:

@echo off
dir /a-d /o:d /b >./list.txt

第二名加段:/o:d{这个日期是按从先到后的。}

按名称就是加:/o:n{字母顺序}

按大小顺序加:/o:s{从小到大排序}

上图有其他的排序方式,你看着用吧。

参考、来源:

http://hi.baidu.com/wovvowo/blog/item/aa26408e359103e4f11f36ae.html

http://blog.sina.com.cn/s/blog_4cf0df620100lxs7.html

http://hi.baidu.com/����/blog/item/30c33035d0980a46241f141c.html

批处理:wenwen.soso.com/z/q153522652.htm

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有