批处理文件:只获取文件时间戳日期和日期(以天为单位)



以下几行输出文件夹中某些文件的名称、分隔符和时间戳。

for /f "eol=: delims=" %%F in (
  'dir /b /a-d /one *.txt *.pdf *.doc* *.xls* *.msg 2^>nul'
) do echo %indent%%fileBullet% %%F%delimeter% %%~tF

因此,产生类似的东西

Response.docx; 02/07/2013 12:13 PM

我想删除时间戳的时间部分(所以只有日期),然后是文件的使用天数。所以

Response.docx; 02/07/2013; 14

我在网上找到了一些相当长的解决方案,其中包含十几行。有没有一个简短而甜蜜的方法?

这里有一些更短更甜的东西。它没有你想要的那么简短和甜蜜,但至少它不是12行代码。:)

for /f "eol=: delims=" %%F in (
  'dir /b /a-d /one *.txt *.pdf *.doc* *.xls* *.msg 2^>nul'
) do call :datediff "%indent%%fileBullet% %%F%delimeter%" %%~tF
goto :EOF
:datediff
echo wscript.echo DateDiff^("d", "%2", Date^(^)^)>"%temp%dd.vbs"
set /P i="%~1 %2%delimeter% "<NUL
cscript /nologo "%temp%dd.vbs"
del /q "%temp%dd.vbs"

相关内容

  • 没有找到相关文章

最新更新