我正在试图以相反的顺序获取子文件夹的文件列表:
for / f"令牌= *" %% f in(' dir / s / b / o-n')do(echo %% f)
我得到了这个结果 folder1 \ file2,folder1 \ file,folder2 \ file2,folder2 \ file1,folder3 \ file2,folder3 \ file1
我希望在文件夹和文件中获得相反的顺序,而不仅仅是文件夹文件。像这样的东西 folder3 \ file2,folder3 \ file1,folder2 \ file2,folder2 \ file1 \,folder1 \ file2,folder1 \ file1
我该怎么做?
答案 0 :(得分:0)
试试这个
for /f "tokens=*" %%f in ('dir /s /b /o-n')
do (
SET OUTPUT=%OUTPUT%, %%f
)
echo %OUTPUT%
答案 1 :(得分:0)
运行第一个循环以获取第一级子目录,然后在每个子句上运行命令
@echo off
for /f "tokens=*" %%f in ('dir c:\temp\so\ /b /o-n /AD') do (call :filesOf %%f)
:next
echo next
pause
:filesOf
echo "files for ******** %1 *********"
if ("%1"=="") goto next else(
for /f "tokens=*" %%i in ('dir c:\temp\so\%1 /s /b /o-n ') do echo "***%%i***"
)
很难处理多级子目标
答案 2 :(得分:0)
@echo off
for /f "tokens=*" %%f in ('dir /s /b /o-n') do (echo %%f >> tempfile.123)
C:\Windows\System32\sort.exe /R tempfile.123
del tempfile.123
这只是将您的文件回显到tempporary文件,然后再尊重它。很抱歉sort.exe的完整路径,但我安装了cygwin。如果您需要适当的临时文件名,我建议使用此http://unserializableone.blogspot.com/2009/04/create-unique-temp-filename-with-batch.html