PowerShell에서 파일의 마지막 쓰기 시간 쿼리
파일을 관리할 때 가장 많이 확인하는 속성 중 하나는 파일이 마지막으로 수정된 시기입니다. 파일 탐색기를 통해 편리하게 빠르게 확인할 수 있습니다.
그러나 PowerShell을 사용하여 프로그래밍 방식으로 파일의 속성을 확인하려는 경우가 있습니다.
이 기사에서는 파일의 속성을 가져오고, 마지막 쓰기 시간을 쿼리하고, 현재 날짜와 다른 날짜를 가져오는 추가 명령을 수행하는 방법을 배우고 논의합니다.
PowerShell에서 파일 속성 쿼리
Windows PowerShell을 사용하면 Get-ItemProperty
명령을 사용하여 파일 속성을 쉽게 쿼리할 수 있습니다. 하나의 파일을 예로 들어 보겠습니다.
예제 코드:
$filepath = "C:\Temp\Login.log"
Get-ItemProperty -Path $filepath
위의 예에서는 Login.log
의 기본 속성을 쿼리했습니다. 위의 스니펫은 파일 탐색기를 사용하여 파일 속성을 보는 방법을 모방합니다.
출력:
Directory: C:\Temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 6/7/2022 4:33 AM 4944 Login.log
Mode
속성 또는 파일 권한, Length
또는 파일 크기, LastWriteTime
또는 파일이 마지막으로 수정된 날짜 및 시간도 볼 수 있습니다.
이제 이 문서에서는 파일의 마지막 쓰기 시간에 더 집중하고 싶었으므로 아래의 업데이트된 코드 조각을 실행하여 이 속성을 분리해 보겠습니다.
예제 코드:
$filepath = "C:\Temp\Login.log"
(Get-ItemProperty -Path $filepath -Name LastWriteTime).LastWriteTime
출력:
Tuesday, June 7, 2022 4:33:02 AM
보시다시피 이제 파일의 마지막 수정 시간을 올바르게 분리했습니다. 그러나 현재 시간 및 날짜와 파일의 이전 쓰기 시간 간의 차이를 얻으려면 데이터 유형의 차이로 인해 오류가 발생합니다.
PowerShell에서 값을 DateTime
형식으로 변환
PowerShell에는 시스템의 날짜 및 시간 형식을 나타내는 DateTime
이라는 특정 데이터 유형이 있습니다. 이전 출력은 String
형식이므로 아래 코드를 실행하여 이를 DateTime
형식으로 변환해 보겠습니다.
예제 코드:
$filepath = "C:\Temp\Login.log"
$lastWrite = [DateTime](Get-ItemProperty -Path $filepath -Name LastWriteTime).LastWriteTime
DateTime
값을 결과에 할당했습니다. 나중에 스크립트에 편의를 추가하기 위해 이렇게 했습니다.
PowerShell에서 두 날짜의 차이 찾기
이제 출력이 DateTime
형식이므로 간단한 수학 표현식을 수행하여 현재 쓰기 시간과 마지막 쓰기 시간의 차이를 편리하게 찾을 수 있습니다.
예제 코드:
$currDate = Get-Date
$currDate - $lastWrite
출력:
Days : 0
Hours : 17
Minutes : 24
Seconds : 57
Milliseconds : 757
Ticks : 626977577652
TotalDays : 0.725668492652778
TotalHours : 17.4160438236667
TotalMinutes : 1044.96262942
TotalSeconds : 62697.7577652
TotalMilliseconds : 62697757.7652
Get-Date
명령은 명령 실행 중 현재 날짜와 시간을 쿼리합니다. 명령은 DateTime
데이터 유형으로 저장되므로 준비된 마지막 쓰기 시간 값과 유사합니다.
DateTime
데이터 유형이 있는 두 개의 변수를 사용하여 더하기(+
) 및 빼기(-
)와 같은 수학 연산자를 사용하여 총 시간과 차이를 찾을 수 있습니다.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn