如何获取最后创建的目录批处理命令?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

如何在目录中获得最新的子文件夹?

我需要MKLINK /D命令。

谢谢

提问于
用户回答回答于
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 先排序最老
  • for /F执行该命令,并设置为目录名,最后一个是最新的一个。

如果直接在命令行上执行此操作(而不是在批处理文件中),请使用%而不是%%

这适用于当前目录 - 正如@iesou指出,dir如果需要使用任何其他目录路径,则需要添加目录路径。

指定目录路径的示例:

FOR /F "delims=" %%i IN ('dir "c:\Program Files" /b /ad-h /t:c /od') DO SET a=%%i

为了防止通过所有子文件夹,你可以更改排序顺序以/o-d使第一次调用后具有最新的first()并退出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%
用户回答回答于

带空格的dir名称的一些改进

FOR /F " tokens=*" %%i IN ('dir /b /ad-h /od') DO (SET a=%%i)  

现在得到了一个=Application数据,而不是a=Application

注意:注意“记号”前面的空格。

扫码关注云+社区