批处理文件:获取文件夹的创建日期

Gab*_*Gab 3 windows batch-file

有没有办法在纯批处理文件(无电源脚本)中获取文件夹的创建日期?特别是,我想在for循环中得到它:

FOR /f "tokens=*" %%G in ('dir /b /s /a:d "C:\asdf\*"') DO CALL :loopbody "%%~tG" "%%G"
Run Code Online (Sandbox Code Playgroud)

此循环调用"函数",文件夹的修改日期作为第一个参数,文件夹的路径作为第二个参数.

npo*_*aka 8

for /f "skip=5 tokens=1,2 delims= " %%A in ('dir /ad /od /tc "dirname"') do (
  echo %%A-%%B
  goto :end_loop
)
:end_loop
Run Code Online (Sandbox Code Playgroud)

试试这个.结果将取决于你的时间设置,可能你需要调整令牌和delims.It也可以使用WMIC和混合jscript/vbscript,但需要几分钟来创建一个脚本.

用wmic 编辑:

WMIC path Win32_Directory WHERE name='C:\\SomeDir' get creationdate
Run Code Online (Sandbox Code Playgroud)

编辑以下是一些使用不同方法获取文件或目录时间戳的现成脚本:

  1. fileModifiedTime.bat - 获取具有独立设置格式的文件的上次修改时间.基于robocopy
  2. fileTimes.bat - 使用WMIC获取文件时间戳
  3. dirTimes.bat - 使用WMIC获取目录时间戳
  4. fileTimesJS.bat - 使用jscript文件时间戳
  5. dirTimesJS.bat - 使用jscript的目录时间戳
  6. fileTimesNET.bat - 使用.NET的文件时间戳
  7. dirTimesNET.bat - 带有.NET的 dir时间戳

  • 我认为`die`应该是'dir` (2认同)