是否可以以毫秒甚至秒为单位在 Windows 命令提示符中查看上次修改文件的时间?
3 回答
答案确实有效,但另一个不错的robocopy
选择适用于标准 Windows 控制台(不是 DOS 本身):
forfiles /c "cmd /c echo @file @ftime"
没有本地 Windows 命令行实用程序支持以毫秒为分辨率查看时间戳。
您最好的选择是使用 3rd 方工具或原生解决方案(Vista+),使用robocopy
(支持秒):
robocopy /L /TS . ..
根据所使用的文件系统,跟踪比秒更精细的分辨率也可能微不足道或无用。请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/ms724290(v=vs.85).aspx和http://jpsoft.com/help/index.htm?timestamps.htm
FAT 的写入时间分辨率为 2 秒。
另一位用户写道:“没有本地 Windows 命令行实用程序支持以毫秒为分辨率查看时间戳。” 这是不正确的。在 NTFS 文件系统中的文件上运行两个 wmic 命令中的任何一个,您将看到时间戳精确到百万分之一秒(微秒,比毫秒更短/更小):
对于文件类型 = 文件:
G:\>wmic datafile where Name="G:\\c\\m\\d\\file.jpg" list /format:list
AccessMask=2032127
Archive=TRUE
Caption=g:\c\m\d\file.jpg
Compressed=FALSE
CompressionMethod=
CreationClassName=CIM_LogicalFile
CreationDate=20141109222121.770365-420
CSCreationClassName=Win32_ComputerSystem
CSName=LENOVO
Description=g:\c\m\d\file.jpg
Drive=g:
EightDotThreeFileName=g:\c\m\d\file.jpg
Encrypted=FALSE
EncryptionMethod=
Extension=jpg
FileName=file
FileSize=737719
FileType=JPEG Image
FSCreationClassName=Win32_FileSystem
FSName=NTFS
Hidden=FALSE
InstallDate=20141109222121.770365-420
InUseCount=
LastAccessed=20200909172756.711862-360
LastModified=20140817192345.000000-360
Manufacturer=
Name=g:\c\m\d\file.jpg
Path=\c\m\d\
Readable=TRUE
Status=OK
System=FALSE
Version=
Writeable=TRUE
对于文件类型=文件文件夹/目录:
E:\>wmic FSDIR where Name="D:\\a\\b\\c\\folder" list /format:list
AccessMask=2032127
Archive=TRUE
Compressed=FALSE
CompressionMethod=
CSName=RPM-HP14-BW012N
Description=d:\a\b\c\folder
Drive=d:
EightDotThreeFileName=d:\a\b\c\folder
Encrypted=FALSE
EncryptionMethod=
Extension=
FileName=folder
FileSize=
FileType=File Folder
FSName=NTFS
Hidden=FALSE
InstallDate=20141109221702.051899-420
InUseCount=
LastAccessed=20200921013720.883985-420
LastModified=20200919161912.763540-420
Name=d:\a\b\c\folder
Path=\a\b\c\
Readable=TRUE
Status=OK
System=FALSE
Writeable=TRUE
20141109222121.770365-420 = 2014-11-09 22 小时 21 分 21 秒 770365 微秒 420 分钟,与 UTC 时间不同。
百万分之一秒:请参阅https://superuser.com/questions/937380/get-creation-time-of-file-in-milliseconds,其中包含通过不同方法生成的文本 - “[File] Birth [time]: 2015 -03-29 22:16:50.080654200 +0100”。“080654200”显示纳秒量 (080,654,200) 或十分之一微秒量 (0,806,542)。
维基百科说:NTFS 日期分辨率 = 100 ns - https://en.wikipedia.org/wiki/NTFS