우리는 이미 Linux 쉘이 얼마나 유연 할 수 있는지 보여 드렸습니다. 하지만 그렇다고해서 Windows가 더 뒤처 졌다는 의미는 아닙니다. 다음은 셸 환경 설정에 따라 사용할 수있는 두 가지 기술인 cmd 또는 PowerShell입니다.
PowerShell 3
Get-ChildItem –Path“C : \ Backups”–Recurse | Where-Object CreationTime –lt (Get-Date) .AddDays (-5) | 항목 제거
파워 셸 2
Get-ChildItem –Path“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 –Path“C : \ Backups”–Recurse | Where-Object CreationTime –lt (Get-Date) .AddDays (-5) | 항목 제거 – WhatIf
명령 프롬프트
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"