批处理中如何显示目录下的所有文件,显示格式有要求
用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