use*_*076 5 batch sorting timestamp date-modified batch-file
我想知道最后一次修改文件是什么时候。
我可以使用以下批处理脚本获取这些信息:
FOR %%i IN (myfile) DO SET modif_time=%%~ti
问题是我需要最后一次修改的第二个,命令%~t返回日期和时间,只有小时和分钟。
我只能通过逐个文件手动查看“属性窗口”文件来检查秒数。
如何批量获取秒数?
只需稍加努力,您就可以forfiles获取特定文件的最后修改时间,包括秒数:
REM "delims=" is required to avoid stripping AM/PM
for /f "delims=" %%i in ('"forfiles /m filename /c "cmd /c echo @ftime" "') do set modif_time=%%i
echo %modif_time%
Run Code Online (Sandbox Code Playgroud)
7:33:54 AM
Run Code Online (Sandbox Code Playgroud)
显示的值基于计算机的本地时间,并与文件属性对话框中显示的时间相匹配。
http://technet.microsoft.com/en-us/library/cc753551.aspx
forfiles.exe不是开箱即用的,但是您可以手动获取所需的可执行文件。它是一个旧版本,是 Windows 2000 Resource Kit 的一部分。语法区分大小写并且略有不同,输出也是如此:
for /f %%i in ('"forfiles.exe -mfilename -c"cmd /c echo @FTIME" "') do set modif_time=%%i
echo %modif_time%
Run Code Online (Sandbox Code Playgroud)
153354
Run Code Online (Sandbox Code Playgroud)
此处时间值以 UTC 格式显示,不受时区或夏令时更改的影响。在此示例中,文件上次修改时间为 15:33:54 (UTC)。
注意您可以forfiles.exe通过从任何 Windows 2003 Server 安装或设置媒体获取文件副本来获取更新版本。
| 归档时间: |
|
| 查看次数: |
22123 次 |
| 最近记录: |