用批处理命令批量获取指定文件夹内的文件名

发布时间:2013-02-05 01:24:25   来源:文档文库   
字号:

用批处理命令批量获取指定文件夹内的文件名
在需要提取文件名的文件夹内新建一个文本文件,输入内容:
dir /s /w >>catalog.txt
保存后将其文件后缀.txt改为.bat,然后运行之,该文件夹下会自动产生一个catalog.txt的文本文件,其中就包含了当前文件夹的所有文件名列表。这个bat文件可以挪到任何文件夹下进行运行。
参数解读:
如果为dir*.doc/s /w >>catalog.txt,表示仅生成后缀为.doc的文件,如果是*.*,那就表明包含所有文件,因此也可以省略不写(如最上面提到的范例)。
/s 表示只显示系统文件;
/w 表示只显示文件名,至于文件大小及建立的日期和时间则都省略;
--------------------------------------------------------------------------------
更多参考:DIR 命令的格式
dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/l][/c[h]
(1)dir /a:attrib 缺省包含所有文件(系统文件.隐含文件)
attrib[:][h/-h]只显示隐含文件或非隐含文件.
[r/-r]只显示只读文件或非只读文件
[s/-s]只显示系统文件或非系统文件
[a/-a]只显示要归档文件或非归档文件
(2)/o[:]sorted:缺省完全按字母顺序,子目录显示在文件之前
/o[n/-n]:按字母顺序或按文件名顺序/反向显示
[e/-e]:按扩展名字母顺序/反向显示
[d/-d]:按时间顺序/反向显示
[s/-s]:按大小从大到小或/反向显示
[g/-g]:按子目录先于文件或文件先于子目录
(3)/s 参数:对当前目录及其子目录中所有文件进行列表
(4)/B 参数:将只显示文件名与扩展名
(5)/L 参数:将全部用小写字母对文件或子目录进行列表

如何快速获取当前目录下的xls文件清单
1,新建一txt文件,输入如下代码:
For /r %%i in (*.xls) DO @echo %%~fi >>Excel文件名.txt

其中粗体部分为执行批处理后新生成的存放xls文件名清单的txt文件
2,存盘后更改扩展名txtbat
3,执行bat文件,就生成了txt格式的文件名清单
4,附件为可执行bat文件

批处理自身 %0 的总结。

批处理运用中,经常要对自身进行操作,

如:提取路径,文件名,后缀名,大小,等等。。。。

充分利用%0的扩展功能,可以很方便的实现。

:: code by 随风 @bbs.bathome.cn 2008/01/08

1、获取批处理自身的完整路径

@echo off

echo %0

pause

2、获取批处理自身的完整路径,并去掉首尾的引号

@echo off

echo %~0

pause

3、获取批处理自身的文件名及后缀名

@echo off

echo %~nx0

pause

4、获取批处理自身的文件名

@echo off

echo %~n0

pause

5、获取批处理自身的后缀名

@echo off

echo %~x0

pause

6、获取批处理自身的完整路径,不含文件名

@echo off

echo %~dp0

pause

@echo off

echo %cd%

pause

7、获取批处理自身的盘符

@echo off

echo %~d0

pause

8、获取批处理自身的大小

@echo off

echo %~z0

pause

9、获取批处理自身的修改时间

@echo off

echo %~t0

pause

本文来源:https://www.2haoxitong.net/k/doc/9e158bc30c22590102029d10.html

《用批处理命令批量获取指定文件夹内的文件名.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式