如何通过批处理将文件夹内文件名及父目录路径写入文本文件
批处理实现目录路径+文件名写入文本方案
直接修改现有dir.bat内容即可,用原生批处理命令就能实现需求。
实现代码
最简版本(适合直接在目标文件夹内双击运行场景)
@echo off > fileslist.txt echo %cd% >> fileslist.txt echo. >> fileslist.txt dir /b /a-d
高兼容性版本(任意路径调用都能准确定位批处理所在目录)
@echo off :: 获取批处理自身所在目录的完整路径,自动处理路径末尾斜杠 for %%i in ("%~dp0.") do set "current_path=%%~fi" > fileslist.txt echo %current_path% >> fileslist.txt echo. >> fileslist.txt dir /b /a-d
逻辑说明
@echo off用于关闭命令回显,避免多余的命令执行文本写入结果文件- 单箭头
>是覆盖写入文件,双箭头>>是在已有文件末尾追加内容 echo.用于输出空行,分隔顶部的目录路径和下方的文件列表- 原有
dir /b /a-d命令无需修改,作用是列出当前目录下所有非文件夹项的纯文件名,不带额外格式信息
执行后生成的fileslist.txt会完全匹配预期格式:第一行是目录完整路径,第二行为空行,之后逐行排列所有文件名。
内容的提问来源于stack exchange,提问作者Feketenyek
相关产品推荐
相关产品推荐

