Windows cmd如何提取文件名?

方法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.txtdocument)。
  • 批处理脚本中需用 %%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"
  • 支持复杂筛选(如按大小、日期过滤)。

⚠️ 注意事项

  1. 特殊字符处理:文件名含空格时,用双引号包裹变量(如 "%~nxi")。
  2. 批量操作前备份:避免误删文件。
  3. 路径长度限制:Windows 路径最大 260 字符,超长路径需启用 \\?\ 前缀或使用 PowerShell。
  4. 管理员权限:操作系统文件需以管理员身份运行 cmd。

总结建议

场景 推荐命令 优势
快速导出文件名 dir /b > list.txt 简单易用
批量重命名/处理 for 循环 灵活控制细节
提取完整路径 xcopy /L 保留目录结构
复杂条件筛选 PowerShell 功能最强大

方法均通过 Windows 10/11 命令提示符测试,符合微软官方文档规范,对于自动化任务,建议将命令写入 .bat 批处理文件运行。
引用来源:Microsoft Dir 命令文档, For 命令参数详解

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6646.html

(0)
酷番叔酷番叔
上一篇 2025年7月8日 07:55
下一篇 2025年7月8日 08:09

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信