PowerShell로 N 이전 또는 지정된 날짜(전후)에 생성되거나 수정된 파일을 삭제합니다.
3736 단어 PowerShell삭제N일 전
바로 PowerShell을 설치하여 도움말 문서를 보십시오.
다음 명령은 Program Files 폴더의 마지막 수정 날짜가 2005년 10월 1일보다 늦고 그렇지 않은 경우 찾습니다.
1MB 이하도 10MB 미만의 모든 실행 파일(테스트에서 실행할 수 없음 - _-!):
Get-ChildItem -Path $env:ProgramFiles -Recurse -Include *.exe | Where-Object `
-FilterScript {($_.LastWriteTime -gt "2005-10-01") -and ($_.Length -ge 1m) `
-and ($_.Length -le 10m)}
D:\test 및 하위 디렉터리에서 10일 전에 만든 파일을 삭제하는 것을 예로 들면 테스트를 조심하십시오!
내용이 너무 길어서 여러 줄로 표시되지만 실제로는 한 줄입니다."\"문자를 연장자로 사용합니다.
음표는 따옴표가 아닙니다), vbs의 "_"에 해당합니다.Windows PowerShell의 다음 행은 계속 이어지는 부분입니다.
그것은 줄을 바꾸지 않으면 라이브러리에 넣을 수 없는 상황에서 유용하다.파이프의 첫 번째 표현식만 허용
요소.
한 줄 명령으로 만료된 파일 목록을 가져옵니다.
Get-ChildItem -Path D:\test -Recurse -ErrorAction:SilentlyContinue | `
Where-Object -FilterScript {(((get-date) - ($_.CreationTime)).days -gt 10 `
-and $_.PsISContainer -ne $True)} | Select-Object FullName
한 줄 명령으로 만료된 파일을 삭제하려면 다음과 같이 하십시오.
Get-ChildItem -Path D:\test -Recurse -ErrorAction:SilentlyContinue | `
Where-Object -FilterScript {(((get-date) - ($_.CreationTime)).days -gt 10 `
-and $_.PsISContainer -ne $True)} | Remove-Item
한 줄 명령으로 만료된 파일을 삭제합니다(읽기 전용, 숨기기 삭제 포함).
Get-ChildItem -Path D:\test -Force -Recurse -ErrorAction:SilentlyContinue | `
Where-Object -FilterScript {(((get-date) - ($_.CreationTime)).days -gt 10 `
-and $_.PsISContainer -ne $True)} | Remove-Item -Force
물론 별명으로 명령을 간략하게 쓸 수 있다.
아니면 먼저 Types.ps1xml 파일에서 System을 찾습니다.IO.FileInfo, Age 구성원 추가:
((get-date) - ($this.creationtime)).days
추가된 내용은
스크립트 내용:
ForEach ($file in Get-ChildItem D:\test\* -Force -Recurse `
-ErrorAction:SilentlyContinue)
{
if (($file).Age -ge 10 -and $file.PsISContainer -ne $True)
{$file.Delete()}
}
{Remove-Item -Force "$file"} 을 사용할 수 없습니다.스크립트 확장자는.ps1, 확장명은 숫자 1입니다.
-gt는 크고, -ge는 크거나 같으며, 다른 것은 도움말을 보십시오.
PSIsContainer 속성이 사실이라면 파일이 아닌 폴더로 처리됩니다.
-Force는 읽기 전용, 숨기기 등의 시스템 파일을 포함하며, 사용한 후에는 -Error Action을 사용하는 것이 좋습니다.
-ErrorAction:SilentlyContinue 역할은 오류를 표시하지 않고 스크립트를 계속 실행하는 것입니다. 예를 들어 귀속 시
System Volume Information 등 액세스할 수 없는 디렉토리에서 오류가 발생합니다.
지정된 날짜 전에 만든 파일을 찾습니다.
Get-ChildItem -Path D:\test -Force -Recurse -ErrorAction:SilentlyContinue | `
Where-Object -FilterScript {($_.CreationTime -gt "2011-01-01") -and `
($_.PsISContainer -ne $True)} | Select-Object FullName
지정된 날짜 전에 수정된 파일을 찾습니다.
Get-ChildItem -Path D:\test -Force -Recurse -ErrorAction:SilentlyContinue | `
Where-Object -FilterScript {($_.LastWriteTime -gt "2011-01-01") -and `
($_.PsISContainer -ne $True)} | Select-Object FullName
삭제하려면 Select-Object FullName에서 Remove-Item -Force로 변경날짜를 지정하는 것은 일괄 처리가 편리합니다. N일 전의 오래된 파일을 삭제하는 것을 지정하려면 좀 번거롭습니다.
다음 예는bat으로 지정한 날짜에 수정된 파일을 삭제하는 것입니다.주의는 수정입니다. 만드는 것이 아니라
dir/tc가 있어야 파일 생성 시간을 볼 수 있습니다. 기본적인dir는dir/tw입니다.
발신자: nwn(Lie), 편지지: DOS
제목: Re:(for 명령) 일정 시간 동안 생성된 파일을 대량으로 삭제합니까?
발신소: 수목 커뮤니티(Sat Jun 7 08:39:39 2008), 역내
@echo off
cd /d
for %%f in (*) do if "%%~tf" gtr "2008-04-01" del "%%f"
하위 디렉토리를 포함하려면 for/r.%% 를 사용합니다.f in ....[justzhou(옥수임풍)의 대작에서 언급했다:]
: 예를 들어 어떤 디렉터리에서 2008-04-01 이후에 만든 모든 파일을 삭제해야 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PowerShell 프롬프트에 Kubernetes의 현재 컨텍스트 출력다음과 같은 스크립트를 profile.ps1이라는 파일 이름으로 저장하고C:\Users\<ユーザー名>\Documents\WindowsPowerShell\ 에 배치한다. (PowerShell Core의 경우 설치 디렉...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.