Windows에서 파일의 최종 수정 날짜를 가져 오는 빠른 내장 명령?


1

Windows에서 여러 파일의 마지막 수정 날짜를 가져 오려고합니다. GNU 시스템에서는 다음과 같은 것을 사용할 수 있습니다. stat -c %Y.

나는 그 사실을 안다. wmic 명령을 사용하지만 그 문제는 매우 느리다는 것입니다. 내 시스템에서 명령 실행 wmic datafile where Name="..." get LastModified /value MSYS2 쉘에서 GNU stat 포트를 사용하는 것보다 4 ~ 7 배 정도 느립니다.

제 목적을 위해서는 Windows 자체 또는 Visual Studio 개발 도구 중 하나에 더 빠르고 더 빨리 대체 할 수있는 대안이 필요합니다. 수동으로 직접 구문 분석 할 수 있으므로 출력 형식에 대해서는별로 신경 쓰지 않습니다.

그 누군가가 존재하는지 아는 사람이 있습니까?


거의 확실하게 Windows 포트를 찾을 수 있습니다. stat (검색 "stat.exe" ). 그렇지 않다면 C를 써야하는 몇 줄 밖에 없습니다.
— AFH

@AFH 문제는 Windows 또는 VS dev 도구에 내장 된 솔루션이 필요하다는 것입니다. 나는 수색 했어.하지만 내가 찾은 유일한 건, 위믹이야.
— AlexRamallo

VS가 있으면 프로그램을 직접 작성하십시오 (전화하십시오 stat() 또는 lstat(), 기호 링크 처리 방법에 따라 다름). 또는 PowerShell에서 쉽게 이해할 수 있지만 필자는 그 이상을 사용하지 않았습니다.
— AFH

내가 "built in"이라고 말하면 나는 이미 사용 가능한 것을 필요로한다는 것을 의미합니다. 물론 내 자신을 쓸 수도 있지만, 내가하고있는 일은 적절한 해결책이 아닙니다. 필자는 최소한 VS dev 도구가 설치된 Windows PC 한 대에 배포해야하는 스크립트를 작성하고 있습니다. 실행 가능한 프로그램을 번들링하거나, 악화시키기 위해 빌드해야하는 소스 코드는 제 특정 상황에서 작동하지 않습니다. Powershell은 내가 전에 생각하지 못했던 것이 었습니다. 그래서 저는 그것을 시도했습니다. 불행히도 실제로는 많은 wmic 명령보다 느립니다.
— AlexRamallo

로컬 보안 또는 안티 바이러스 정책의 맥락에서 어려운 경우가 아니면, 스크립트로 실행 파일을 배포해서는 안되는 이유를 알 수 없습니다. PC가 Windows 10에 설치된 경우 Windows on Linux 하위 시스템은 이미 stat. 다음과 함께 호출 할 수 있습니다. bash -c, Windows 파일 이름이 아닌 Linux를 사용해야합니다.
— AFH

답변:


3

필드를 기준으로 출력을 구문 분석 할 수 있으면 Window 명령 행 DIR이 작업을 수행해야합니다. 필요에 따라 출력을 파일로 파이프하십시오.

예를 들어, dir / o : d / t : w 마지막으로 작성된 시간 (즉, 수정 한 날짜)을 사용하여 파일을 날짜순으로 주문합니다. [/ o : d] 다음 필드를 생성합니다.

C : \ Intel \ Logs 디렉토리

2011 년 7 월 6 일 10:28 PM ..

2012 년 7 월 6 일 오후 10시 28 분 0 IntelCPHS.log

2011-05-13 오후 10:01 767,814 IntelGFX.log

2011-10-17 오후 10:54 51,608 IntelGFXCoin.log

두 번째 시간이 필요할 경우 시도해보십시오.

forfiles / c "cmd / c echo @file @ftime"

들어가다 국장님 /? 특정 속성, 출력 형식 등의 파일보기 옵션보기


훌륭함 - 나는 몰랐다. @... 옵션 ForFiles. 새 복사본 예약을 필요로하는 것은 유감스러운 일입니다. cmd 그냥 에코를 해. Linux의 경우 echo 그리고 몇몇 다른 내부 명령들도이를 피하기 위해 외부 바이너리를 가지고 있지만, 표준적인 Windows 명령을 알지 못한다.
— AFH
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.