bat命令 遍历目标文件夹下的所有文件,并输出文件名,如果是在子文件夹下,则还要输出文件夹的名字

列 - 结构:A尀B尀c.txtA尀e.txt输出B c.texte.text
2024-11-14 01:41:59
推荐回答(3个)
回答1:

你的子文件夹或出现多层吗?如果出现多层的,是把这个文件的所有层子文件夹名输出,还是只输出文件所在目录的名字?
例如这样的多层子目录
A\D\E\F.txt

回答2:

::获取本级文件夹名称和它子集文件名称放入ab列
::获取日期,防止生成文件与源目录文件发生冲突

@echo off
set datevar=%date:~0,4%%date:~5,2%%date:~8,2%
set timevar=%timevar%%time:~3,2%%time:~6,2%
set path=%~dp0
rem 获取文件夹名称
for /f "delims="  %%a in ('dir /b/ad') do  ( 
rem 拼加下个参数路径
echo %%a
rem 获取子集中目录文件名称
for /f "tokens=1-3 delims=" %%b in ('dir /b/od %path%%%a') do echo %%a,%%b%%c%%d>>%datevar%%timevar%.csv
)
pause

我以前写过的 缺点是我还不知道

不过我只写了遍历两层,一层文件夹,一层文件名。不过我有个笨方法,

dir /b/s>>1.csv

你可以把>>1.csv删掉,这个就很直接了没有美化过的,出来的数据是盘符加路径加文件名,一堆,我把它放进excel中替换顺便分列处理数据

回答3:

tree就行……