方法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