获取最后创建的目录批处理命令
答
FOR /F "delims=" %%i IN ('dir /b /ad-h /t:c /od') DO SET a=%%i
echo Most recent subfolder: %a%
(%i
窗户10)
-
/b
为裸格式 -
/ad-h
只有目录,而不是隐藏的人 -
t:c
表示使用排序的创建日期(使用t:w
去年写日期) -
/od
那种最古老的第一 - 的
for /F
执行该命令,并设置为目录名,最后一个是最新的一个。
如果直接在命令行上执行此操作(而不是在批处理文件中),请使用%
而不是%%
。
这适用于当前目录 - 正如@ youou指出,如果需要使用任何其他目录路径,则需要在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%
答
一些改进目录名称用空格
FOR /F " tokens=*" %%i IN ('dir /b /ad-h /od') DO (SET a=%%i)
现在你会得到一个=应用程序数据,而不是=应用程序
注:在“标记”前要注意空间
+0
忽略一些匹配的另一个改进是:如果不是“%% i”==“..”,如果不是“%% i”==“。组 – Thomas
http://stackoverflow.com/questions/17237324/how-to- find-the-last-directory-created-in-batch/20149008#20149008 – Farah