方法1:使用 dir /b
命令(基础提取)
作用:直接列出当前目录下的文件名(不含路径和元信息)。
命令示例:
dir /b > filenames.txt
- 效果:将当前目录所有文件名保存到
filenames.txt
中。 - 扩展用法:
- 提取特定类型文件:
dir /b *.txt > text_files.txt
- 包含子目录文件:
dir /b /s C:\YourFolder > all_files.txt
- 提取特定类型文件:
方法2:使用 for
循环(高级处理)
作用:逐文件处理,支持截取名称、修改后缀等操作。
场景1:提取文件名(不含扩展名)
for %i in (*.txt) do echo %~ni >> names.txt
%~ni
:仅提取文件名(如document.txt
→document
)。- 批处理脚本中需用
%%i
(如for %%i in (...)
)。
场景2:提取文件名(含扩展名)
for %i in (*.*) do echo %~nxi >> full_names.txt
%~nxi
:组合文件名和扩展名(如image.jpg
)。
场景3:提取文件并重命名
for %i in (*.log) do copy "%i" "backup\%~ni.bak"
- 将所有
.log
文件复制到backup
文件夹,并改为.bak
后缀。
方法3:结合 xcopy
和日志(提取路径+文件名)
作用:获取文件的完整路径。
xcopy /L /Y /S "C:\Source\*.*" "D:\Dummy\" > file_paths.txt
/L
:仅列出文件(不实际复制)。- 删除末尾的
D:\Dummy\
路径(可用文本工具批量替换)。
方法4:使用 PowerShell
(更强大灵活)
若允许调用 PowerShell(Win7+支持),可更高效处理:
powershell -Command "Get-ChildItem -File | Select-Object Name > files.txt"
- 支持复杂筛选(如按大小、日期过滤)。
⚠️ 注意事项
- 特殊字符处理:文件名含空格时,用双引号包裹变量(如
"%~nxi"
)。 - 批量操作前备份:避免误删文件。
- 路径长度限制:Windows 路径最大 260 字符,超长路径需启用
\\?\
前缀或使用 PowerShell。 - 管理员权限:操作系统文件需以管理员身份运行 cmd。
总结建议
场景 | 推荐命令 | 优势 |
---|---|---|
快速导出文件名 | dir /b > list.txt |
简单易用 |
批量重命名/处理 | for 循环 |
灵活控制细节 |
提取完整路径 | xcopy /L |
保留目录结构 |
复杂条件筛选 | PowerShell | 功能最强大 |
方法均通过 Windows 10/11 命令提示符测试,符合微软官方文档规范,对于自动化任务,建议将命令写入
.bat
批处理文件运行。
引用来源:Microsoft Dir 命令文档, For 命令参数详解
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6646.html