方法1:基础DIR命令导出到文本文件
适用场景:快速提取当前文件夹内所有文件的名称(不含子目录)。
步骤:
- 打开命令提示符(Win+R → 输入
cmd→ 回车) - 输入命令:
dir /b > filenames.txt
/b:仅显示文件名(不包含大小、日期等元数据)>:将结果输出到filenames.txt(文件自动生成在当前位置)
效果:
生成文本文件包含所有文件名,
photo1.jpg
document.docx
report.xlsx
方法2:提取特定类型文件
适用场景:筛选指定扩展名(如.jpg、.docx)的文件。
命令示例:
dir /b *.jpg > image_list.txt
*.jpg:通配符表示所有.jpg文件- 可替换为
*.docx、*.xlsx等所需格式
方法3:包含子目录的文件名提取
适用场景:递归获取当前及所有子文件夹中的文件名。
命令:
dir /b /s > all_files.txt
/s:遍历子目录
输出示例:C:\Folder\file1.txt C:\Folder\Subfolder\file2.txt
方法4:FOR循环高级处理
适用场景:自定义格式或批量重命名预处理。
示例1:仅提取文件名(无扩展名)
for %i in (*.*) do echo %~ni >> names.txt
%~ni:去掉扩展名的文件名(%~xi为扩展名)
示例2:生成CSV格式文件
for %i in (*) do echo "%i",>> filelist.csv
输出逗号分隔的列表,适合Excel导入。
方法5:PowerShell增强版(备用方案)
若需更复杂操作(如元数据提取),可用PowerShell:
- 打开PowerShell(Win+R →
powershell) - 输入:
Get-ChildItem -Recurse | Select-Object Name > files.csv
-Recurse:包含子目录- 支持扩展筛选:
-Include *.png
注意事项
- 路径含空格:路径或文件名有空格时需加引号,
dir /b "C:\My Documents\*.*" > list.txt
- 隐藏文件:添加
/a参数显示隐藏文件(如dir /b /a) - 排序:使用
/o参数按名称排序(如dir /b /o:n) - 输出位置:指定完整路径保存结果,如
> D:\lists\output.txt
常见问题解答
- Q:生成的文本乱码?
A:用chcp 65001切换编码为UTF-8再执行命令。 - Q:如何排除文件夹?
A:DIR命令无法直接排除,建议用PowerShell:Get-ChildItem -File | Select-Object Name > files.txt
通过上述方法,可灵活应对不同场景的文件名提取需求,Windows命令虽基础,但结合参数和循环能实现高效批处理,适合日常文件管理。
引用说明:本文方法基于Microsoft官方文档《dir命令参考》及《FOR命令指南》准确性和可靠性。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7721.html