Windows에서 X 일 이전의 파일을 삭제하는 방법
우리는 이미 리눅스 쉘이 얼마나 유연한지를 보여주었습니다.하지만 Windows가 더 이상 뒤떨어 진 것은 아닙니다. 쉘 환경, cmd 또는 PowerShell에 따라 사용할 수있는 두 가지 기술이 있습니다..
PowerShell 3
Get-ChildItem - 경로 "C : \ Backups"-Recurse | Where-Object CreationTime -lt (Get-Date) .AddDays (-5) | 항목 제거
PowerShell 2
Get-ChildItem - 경로 "C : \ Backups"-Recurse | Where-Object $ _. CreationTime -lt (Get-Date) .AddDays (-5) | 항목 제거
설명
- 먼저 경로 C : \ Backups에 FileInfo 및 DirectoryInfo 개체를 가져옵니다..
- FileInfo 및 DirectoryInfo 객체에는 CreationTime 속성이 모두 포함되어 있으므로이를 사용하여 컬렉션을 필터링 할 수 있습니다..
- -lt (보다 작음) 연산자를 사용하여 개체의 CreationTime 속성을 Get-Date (현재 날짜)와 비교하여 5 일을 뺍니다.
- 그러면 우리는 5 일 이상 전에 생성 된 객체 컬렉션을 남겨두고 Remove-Item으로 전달합니다..
전문가의 팁
제거 할 내용을 보려면 -WhatIf 매개 변수를 사용할 수 있습니다.
Get-ChildItem - 경로 "C : \ Backups"-Recurse | Where-Object CreationTime -lt (Get-Date) .AddDays (-5) | 항목 제거 - 어떤 경우
명령 프롬프트
PowerShell 메서드 중 하나를 사용하는 것이 좋지만, 자세한 내용을 알지 못하면 명령 프롬프트에서도 수행 할 수 있습니다.
forfiles -p "C : \ Backups"-s -m *. * -d -5 -c "cmd / c del @path"
전문가의 팁
어떤 파일이 삭제 될지 보려면 echo를 사용하십시오.
forfiles -p "C : \ Backups"-s -m *. * -d -5 -c "cmd / c echo @file"