有时候需要提取一些文件名,但是文件又太多,一个一个复制太慢,现在来说说怎么用bat批处理命令来实现批量提取文件名。
【教程如下】:
1、将下面这条命令,复制到txt记事本上,然后另存为:获取文件名.bat,保存类型:所有文件(*.*),如下图;
dir /b > 文件名清单.txt
2、将刚刚保存好的bat文件,放到需要提取文件名的文件夹里,双击打开;
3、打开之后会有个黑色命令窗口一闪而过,然后会发现在该文件夹里新生成了一个“文件名清单.txt”文件,打开“文件名清单.txt”文件即可看到文件名清单;
4、再来看看通过其它条件,获取文件名的脚本怎么编写:
①只获取当前目录下的[文件名];
@echo off dir /a-d /b >./清单.txt
②只获取当前目录下的“jpg文件”的[文件名];
dir *.jpg /b > 当前目录下的jpg文件.txt
③获取当前目录及子目录下的[文件名](tree格式);
@echo off tree /f %1>%1清单.txt
④只获取当前目录及子目录下“jpg文件”的[文件名];
dir *.jpg /s /b > 清单.txt
⑤只获取当前目录及子目录下“mp3文件”的[文件名];
dir *.mp3 /s /b > 清单.txt
⑥只获取当前目录及子目录下“pdf文件”的[文件名];
dir *.pdf /s /b > 清单.txt
⑦只获取当前目录及子目录下“txt文件”的[文件名];
dir *.txt /s /b > 清单.txt
⑧获取当前目录下的文件路径;
@echo off & setlocal EnableDelayedExpansion for /f "delims=" %%i in ('"dir /b *.*"') do ( set file=%%~fi set file=!file:/=/! echo !file! >> 文件路径.txt )
⑨获取当前目录及子目录下的文件路径;
dir /s /b > 文件路径.txt
⑩提取当前目录及子目录下的文件名和文件修改时间;
@echo off dir /a-d /b >./清单.txt0