日期:2014-05-16  浏览次数:20989 次

批处理中如何显示目录下的所有文件,显示格式有要求
用dir可以显示所有文件,但是格式不是我想要的,如目录AAA下面有文件a.txt还有目录BBB,BBB目录下有b.txt,

我想要显示出来的格式如下:
.\AAA\a.txt
.\AAA\BBB\b.txt

即要求可以递归显示,文件又带目录名,而且前面要有.号
有哪位大侠知道怎么用windows已经有的批命令来处理?

------解决方案--------------------
@echo off
set "folderName=D:\Test\aaa"
for /f "delims=" %%i in ('dir /s /b /a-d "%folderName%"') do (
    set fileFull=%%i
    setlocal enabledelayedexpansion
    set fileLocal=.!fileFull:%folderName%=!
    echo !fileLocal!
    endlocal
)
pause


d:\Test>dir /s /b /a-d aaa
d:\Test\aaa\a.txt
d:\Test\aaa\bbb\b.txt

d:\Test>test.bat
.\a.txt
.\bbb\b.txt