使用CMD窗口,获取当前目录中每个文件夹的最新文件名

使用CMD窗口,获取当前目录中每个文件夹的最新文件名,cmd,Cmd,如何使用cmd窗口获取当前目录中每个文件夹中最新文件的名称 我觉得这要么是一个多步骤的命令过程,要么是我目前所知之外的一行代码 我只熟悉从命令行使用“一次性”命令,例如 dir/b/o:n/ad>folderlist.txt,因此任何关于执行更复杂的命令行任务的参考都会很好。您需要能够遍历目录列表和每个目录中的文件列表。这可以使用FOR循环来完成。有关详细信息,请参阅获取/? @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION PUSHD "C:\the dir

如何使用cmd窗口获取当前目录中每个文件夹中最新文件的名称

我觉得这要么是一个多步骤的命令过程,要么是我目前所知之外的一行代码

我只熟悉从命令行使用“一次性”命令,例如
dir/b/o:n/ad>folderlist.txt,因此任何关于执行更复杂的命令行任务的参考都会很好。

您需要能够遍历目录列表和每个目录中的文件列表。这可以使用
FOR
循环来完成。有关详细信息,请参阅
获取/?

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

PUSHD "C:\the directory\of interest"

FOR /F "usebackq tokens=*" %%d IN (`DIR /B /A:D .`) DO (
    DIR /B /A:-D %%d >NUL 2>&1
    IF !ERRORLEVEL! EQU 0 (
        FOR /F "usebackq tokens=*" %%f IN (`DIR /B /A:-D /O:D %%d`) DO (
            SET LASTFILE=%%f
        )
        ECHO %%d\!LASTFILE!
    )
)

POPD

谢谢只要它在父目录中,它就可以工作。问题是“在当前目录中”,所以我从表面上看它。如果这是答案,请将其标记为答案。谢谢。我确实有一个问题,通过设置父目录的路径,应该添加什么才能使其工作,这样我就可以将批处理文件保存在单独的文件夹中。因为,“.”列出了批处理文件的目录,并替换为我要使用的文件夹的完整路径不起作用,因为使用“/B”只给出文件夹/文件名,而不是完整路径引用。(有点不确定如何成批连接;考虑到它是一台工作计算机,我不能使用我实际上知道的编程语言!)我添加了一个PUSHD和POPD。PUSHD将把您(CD)放入指定的目录中。POPD将返回到PUSHD之前的当前工作目录。它就像一个堆栈。谢谢更新!对不起,我没有完全限定我必须做的事情。我正在测试我创建的文件夹,但发现我没有对需要读取的文件夹的写入权限。