목차
Powershell Oneliner
Powershell 1 을 이용해 특정 날짜 기간에 생성된 파일을 찾기 위해서는 아래 스크립트를 사용하면 된다.
Get-ChildItem -File -Recurse .\ |
Where-Object { $_.CreationTime -GT "2024-01-20" -and $_.CreationTime -LT "2024-01-30"} |
Select-Object -Property CreationTime,Name
위의 스크립트를 실행하면, 현재 디렉토리에서 2024년 1월 20일 부터 2024년 1월 30일 사이에 생성된 파일을 찾아 생성 시간과 파일명을 출력한다.
Get-ChildItem
Get-ChildItem
2으로 사용자가 지정한 경로 .\
아래에 위치한 파일을 -File
찾는다. 하위 디렉토리가 있을 경우 모두 포함해서 -Recurse
검색한다.
Get-ChildItem -File -Recurse .\
검색 대상 중 파일 형식만 찾기 위해 -File
옵션을 사용했다.
Where-Object
앞의 Get-ChildItem
에서 찾아낸 결과를, Where-Object
3로 파일 속성 CreationTime
이 특정 날짜 범위에 해당하는지 판단한다. 조건에 부합하는 파일만 필터링 된다.
Where-Object { $_.CreationTime -GT "2024-01-20" -and $_.CreationTime -LT "2024-01-30"}
파일의 생성 시간은 CreationTime
속성, 최근 변경 시간은 LastWriteTime
속성으로 확인한다. 날짜 범위 비교를 위해 -GT
, -LT
, 두 가지 조건에 모두 부합하는 결과를 위해 -AND
연산자를 사용한다.
Select-Object
앞에서 검색 된 파일들의 정보를 출력하기 위해, Select-Object
4를 사용해 필요한 속성만 선택한다. 여기서는 특정 기간에 생성된 파일을 찾고자 했으므로, 파일의 두 가지 속성 생성 시각 CreationTime
, 파일 이름 Name
을 출력한다.
Select-Object -Property CreationTime,Name
출력 예
위의 파워쉘 스크립트를 실행 하면, 검색 조건에 해당하는 파일을 찾은 경우 해당 파일의 생성 시간과 이름을 출력한다.
CreationTime Name ------------ ---- 2024-01-22 오후 6:17:14 dnSpy-net-win32.zip 2024-01-22 오후 6:17:17 dnSpy-net-win64.zip 2024-01-22 오후 6:17:22 dnSpy-netframework.zip 2024-01-22 오후 6:19:45 net48.zip 2024-01-22 오후 6:19:48 net6.0-windows.zip
참고자료
- Windows PowerShell
https://learn.microsoft.com/ko-kr/powershell/ ↩︎ - Microsoft.PowerShell.Management Get-ChildItem
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-childitem ↩︎ - Microsoft.PowerShell.Core Where-Object
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/where-object ↩︎ - Microsoft.PowerShell.Utility Select-Object
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-object ↩︎
+ There are no comments
Add yours