윈도우에서 파일 생성 시간을 더 정확하게 얻는 방법이 있습니까? mp4 비디오의 생성 시간을 밀리 초 단위로 얻고 싶습니다. 이게 가능해?
ctime
복사본을 복사 한 시간으로 만듭니다.
stat
를 사용 하여 3 개의 타임 스탬프를 모두 얻었습니다. 물론, 저는 보통 GNU / Linux를 사용하기 때문입니다.
윈도우에서 파일 생성 시간을 더 정확하게 얻는 방법이 있습니까? mp4 비디오의 생성 시간을 밀리 초 단위로 얻고 싶습니다. 이게 가능해?
ctime
복사본을 복사 한 시간으로 만듭니다.
stat
를 사용 하여 3 개의 타임 스탬프를 모두 얻었습니다. 물론, 저는 보통 GNU / Linux를 사용하기 때문입니다.
답변:
Windows에서 파일의 작성 시간 소인은 파일 시스템에 따라 다릅니다.
FAT / VFAT의 최대 해상도는 2 초입니다
NTFS의 최대 해상도는 100ns입니다.
wmic
파일 작성 날짜를 가장 가까운 마이크로 초로 검색하는 데 사용할 수 있습니다 .
예:
F:\test>wmic datafile where name="f:\\test\\test.txt" get creationdate | findstr /brc:[0-9]
20150329221650.080654+060
작성 날짜 20150329221650.080654+060
는 다음 형식의 타임 스탬프입니다.
yyyymmddHHMMSS.xxxxxxsUUU
어디:
yyyy
4 자리 연도 (0000 ~ 9999)
mm
두 자리 월 (01-12).
dd
월의 두 자리 숫자 (01-31).
HH
24 시간제 (00-23)를 사용한 하루 중 두 자리 시간.
MM
시간에서 두 자리 분 (00-59).
SS
분 단위의 두 자리 숫자 (초)입니다 (00-59).
xxxxxx
초의 6 자리 마이크로 초 수 (000000-999999)
s
더하기 기호 ( +
) 또는 빼기 기호 ( -
)는 UTC (협정 세계시)로부터 양수 또는 음수 오프셋을 나타냅니다.
UUU
원래 시간대가 UTC에서 벗어난 시간 (분)을 나타내는 3 자리 오프셋입니다.
cygwin 또는 mingw 설치 stat
에서 사용할 수도 있습니다 .
예:
DavidPostill@Hal /f/test
$ stat test.txt | grep Birth
Birth: 2015-03-29 22:16:50.080654200 +0100
F:\test>dir /t:c test.txt
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test
29/03/2015 22:16 32 test.txt
1 File(s) 32 bytes
0 Dir(s) 1,798,546,849,792 bytes free
xxxxxx
이다 번째 (999999 통해 000000)의 마이크로 여섯 자리 숫자 . 마이크로 , 즉 10^-6
. 물론 첫 번째 삼중 항은 mili- ( 10^-3
)를 나타냅니다 . 추출 된 두 번째 삼중 나타냅니다 아무것도 자체가 ... 그러나 일부 wmi
날짜 시간 값이 두 번째 삼중를 표시하지 000
, 항상 예wmic OS get LocalDateTime
똑똑한 방법은 여기에 설명되어 있습니다 : https : //.com/questions/5180592/showing-ntfs-timestamp-with-100-nsec-granularity
VBScript를 사용하여 WMI의 CIM 데이터베이스를 쿼리 FILETIME
하고 파일과 관련된 구조를 반환 합니다.
디지털 카메라로 생성 된 미디어의 메타 데이터를 관리하는 EXIFtool 과 같이 미디어 파일의 메타 데이터를 검사 할 수있는 오픈 소스 도구도 있습니다 .
Matlab에서 이것을 얻는 방법을 찾았습니다.
Jan Simon이 작성한 GetFileTime 함수를 사용할 수 있습니다 . 자신의 mex 파일을 컴파일하지 않으려면 여기 에서 컴파일 된 파일을 다운로드 할 수도 있습니다 .
wmic (ms 만)를 사용하는 것만 큼 정확하지는 않지만 제 목적으로는 적합합니다.
이 파일 시스템에 따라 NTFS는 FAT는 이초 해상도를 가지고 : 이론적으로 100 ns의 해상도를 가지고 있지만, 실제 해상도는 10 밀리 초입니다 . 즉, 인터럽트는 디스크 I / O보다 우선 순위가 높으며 쓰기 캐싱이 타임 스탬프에 미치는 영향이 확실하지 않습니다. 멀티미디어 타이머 는 정확성을 위해 최적화되었으므로 타이밍을 구현하는 데 선호되는 방법입니다.
XYplorer 와 같은 기존 도구를 사용하여 고해상도 타임 스탬프를 보거나 자신의 응용 프로그램을 작성하는 것이 좋습니다. File.GetCreationTime 메소드를 사용하십시오 . Millisecond 속성을 가진 DateTime 구조체를 반환 합니다.
wmic