[英]Get inverse list of files through dir command in batch
我正在尝试以相反的顺序获取子文件夹的文件列表:
为/ f“ tokens = *” %% f in('dir / s / b / o-n')执行(回显%% f)
我得到这个结果folder1 \\ file2,folder1 \\ file,folder2 \\ file2,folder2 \\ file1,folder3 \\ file2,folder3 \\ file1
我想获得文件夹和文件中的倒序,而不仅仅是文件夹中的文件。 像这样的文件夹3 \\文件2,文件夹3 \\文件1,文件夹2 \\文件2,文件夹2 \\文件1 \\,文件夹1 \\文件2,文件夹1 \\文件1
我怎样才能做到这一点?
尝试这个
for /f "tokens=*" %%f in ('dir /s /b /o-n')
do (
SET OUTPUT=%OUTPUT%, %%f
)
echo %OUTPUT%
运行第一个循环以获取第一级子目录,然后在每个目录上运行you命令
@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***"
)
很难处理多级子目录
@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
这只是将您的文件回显到临时文件,然后重新显示它。 抱歉,无法找到sort.exe的完整路径,但我安装了cygwin。 如果您想要适当的临时文件名,我建议您使用此http://unserializableone.blogspot.com/2009/04/create-unique-temp-filename-with-batch.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.