有时候需要提取一些文件名,但是文件又太多,一个一个复制太慢,现在来说说怎么用批处理命令来实现批量提取文件名。
【教程如下】:
1、进入需要提取文件名的文件夹里,右键单击[新建]一个txt文本文档,如命名为:“获取文件名.txt”;
2、打开新建的“获取文件名.txt”,输入以下命令,然后保存关闭:
@echo off
dir /a-d /b >./清单.txt
3、将“获取文件名.txt”后缀重命名为“获取文件名.bat”,出现提示改变扩展名,点击“是”;
4、双击打开“获取文件名.bat”文件,会有个黑色命令窗口一闪而过;
5、然后会发现在该文件夹里新生成了一个“清单.txt”文件,打开“清单txt”文件即可看到文件名清单;
6、再来看看通过其它条件,获取文件名的脚本怎么编写:
①只获取当前目录下的[文件名];
@echo off
dir /a-d /b >./清单.txt
②只获取当前目录下的“jpg文件”的[文件名];
dir *.jpg /b > 当前目录下的jpg文件.txt
③获取当前目录下的[文件名]和[文件夹名];
dir /b > 清单.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
⑪提取当前目录及子目录下的文件名和文件修改时间;
@set @n=0/*&echo off
dir /a-d/s/b|Cscript -nologo -e:jscript "%~f0" > 1.txt
pause&exit /b */
var fso=new ActiveXObject('scripting.FileSystemObject');
while(!WSH.StdIn.AtEndOfStream)
{
file=fso.GetFile(WSH.StdIn.ReadLine());
t=new Date(file.DateCreated);
t1 = t.getFullYear() + "-" + (t.getMonth() + 1) + "-" + t.getDate() + " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds();
WSH.Echo(file + "\t" + t1);
}
来源:竹林猫,文章链接:http://www.zhulincat.com/post/278.html