如何获取目录中最新的子文件夹?
我需要它在MKLINK /D
命令。
Thanks
FOR /F "delims=" %%i IN ('dir /b /ad-h /t:c /od') DO SET a=%%i
echo Most recent subfolder: %a%
(%i
对于 Windows 10)
-
/b
适用于裸格式
-
/ad-h
仅限目录,不包含隐藏目录
-
t:c
表示使用创建日期进行排序(使用t:w
最后写入日期)
-
/od
首先排序最旧的
- The
for /F
执行命令并将a设置为目录名,最后一个是最新的。
如果直接在命令行上执行此操作(而不是在批处理文件中),请使用%
代替%%
.
这适用于当前目录- 正如@iesou指出的,您需要在之后添加目录路径dir
如果您需要使用任何其他目录路径。
指定目录路径的示例:
FOR /F "delims=" %%i IN ('dir "c:\Program Files" /b /ad-h /t:c /od') DO SET a=%%i
为了防止遍历所有子文件夹,您可以更改排序顺序,将最新的放在最前面(/o-d
) 并在第一次调用后退出 for 循环:
@echo off
FOR /F "delims=" %%i IN ('dir /b /ad-h /t:c /o-d') DO (
SET a=%%i
GOTO :found
)
echo No subfolder found
goto :eof
:found
echo Most recent subfolder: %a%
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)