有没有办法获得纯batch file(没有电源脚本)文件夹的创builddate? 特别是,我想在这里进行循环:
FOR /f "tokens=*" %%G in ('dir /b /s /a:d "C:\asdf\*"') DO CALL :loopbody "%%~tG" "%%G"
此循环调用一个“函数”,将文件夹的修改date作为第一个参数,将文件夹的path作为第二个参数。
for /f "skip=5 tokens=1,2 delims= " %%A in ('dir /ad /od /tc "dirname"') do ( echo %%A-%%B goto :end_loop ) :end_loop
试试这个。结果将取决于你的时间设置,可能你需要调整标记和分隔符。也可以使用WMIC
和混合jscript / vbscript,但需要几分钟的时间来创建一个脚本。
编辑与wmic:
WMIC path Win32_Directory WHERE name='C:\\SomeDir' get creationdate
编辑这里有一些准备使用不同的方法来获取文件或目录时间戳的脚本:
@ECHO OFF &SETLOCAL CD "StartFolder" FOR /D /R %%G in (*) DO ( SET "FileName=%%~G" SETLOCAL ENABLEDELAYEDEXPANSION FOR /F %%H IN ('wmic fsdir where name^="!FileName:\=\\!" get creationdate^|find "."') DO SET "cdate=%%H" CALL :loopbody "!cdate:~6,2!/!cdate:~4,2!/!cdate:~0,4!-!cdate:~8,2!:!cdate:~10,2!:!cdate:~12,2!" "!FileName!" ENDLOCAL ) GOTO:EOF :loopbody ECHO %~1 "%~2" EXIT /B