提取当前文件夹及其子文件夹中所有 .txt 文件的路径和文件名

要提取当前文件夹及其子文件夹中所有 .txt 文件的路径和文件名,并将它们拼接成一行,每个路径之间用空格分隔开,最后将结果保存到 output.txt 文件中,可以使用以下的命令

@echo off
setlocal enabledelayedexpansion

set 'files='

for /r %%i in (*.txt) do (
    set "files=!files! "%%i""
)

rem 输出到控制台
echo %files%
rem 输出到文件
echo %files% > output.txt

或者

dir /s /b *.txt > output.txt
### 使用BAT脚本递归遍历目录树并提取所有文件名 为了实现递归查找指定文件夹及其文件夹中的所有文件名,可以利用 `for` 循环配合 `/R` 参数来完成这一任务。下面提供了一个简单的批处理脚本来满足此需求: ```batch @echo off setlocal enabledelayedexpansion rem 设置要遍历的目标路径,默认当前目录 set targetPath=. rem 创建或清空输出文件 >filelist.txt type nul rem 开始遍历目标路径下所有的文件,并记录到 filelist.txt 中 for /r "%targetPath%" %%i in (*) do ( echo %%~nxi >> filelist.txt ) endlocal pause ``` 上述代码会创建一个名为 `filelist.txt` 的文本文件[^2],并将找到的所有文件的名字(不含路径)写入其中。 如果希望连同完整的相对路径一起保存,则可做如下调整: ```batch @echo off setlocal enabledelayedexpansion rem 设置要遍历的目标路径,默认当前目录 set targetPath=. rem 创建或清空输出文件 >fullpath_filelist.txt type nul rem 遍历目标路径下的所有文件,包括完整路径一并记录至 fullpath_filelist.txt 文件内 for /r "%targetPath%" %%f in (*) do ( echo %%f >> fullpath_filelist.txt ) endlocal pause ``` 这段改进后的程序会在 `fullpath_filelist.txt` 文件里存储带有完整路径文件列表。 #### 注意事项 - `%targetPath%` 变量用于定义待搜索的根目录;默认情况下设置为当前工作目录 (`.`),可以根据实际需要更改为其他绝对或相对路径。 - `%%~nxi` 表达式用来获取文件名扩展名而不带任何路径信息;而 `%%f` 则返回整个文件路径字符串。 - `>` `>>` 是重定向运算符,前者用于覆盖现有文件内容,后者则追加新数据到已有文件末尾。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值