programing

Get-child 항목을 사용하여 지난 3일 동안 수정된 파일 목록 가져오기

javaba 2023. 9. 6. 22:31
반응형

Get-child 항목을 사용하여 지난 3일 동안 수정된 파일 목록 가져오기

현재 코드 그대로

get-childitem c:\pstbak\*.* -include *.pst | Where-Object { $_.LastWriteTime -lt (get-date).AddDays(-3)} |

기본적으로 제가 하려는 것은 위 폴더에 있는 모든 PST 파일의 목록을 3일 전보다 최신인 것을 기준으로 가져오는 것입니다.그럼 결과를 세어보고 싶습니다.위 코드는 오류가 없지만 결과를 0으로 되돌립니다(폴더에 3일보다 최신 PST 파일이 분명히 있습니다).아는 사람?

시도해 보기:

(Get-ChildItem -Path c:\pstbak\*.* -Filter *.pst | ? {
  $_.LastWriteTime -gt (Get-Date).AddDays(-3) 
}).Count

이전 응답과 매우 유사하지만 현재 디렉터리에서 가져온 파일이며 4일 된 파일에 대해서만 확인합니다.이것이 제 연구에 필요한 것이고 위의 답변들은 모두 큰 도움이 되었습니다.감사해요.

Get-ChildItem -Path . -Recurse| ? {$_.LastWriteTime -gt (Get-Date).AddDays(-4)}

Dave Sexton에서 제공하는 솔루션에 대한 약간의 업데이트입니다.여러 필터가 필요한 경우가 많습니다.필터 매개 변수는 단일 문자열만 사용할 수 있는 반면 -Include 매개 변수는 문자열 배열을 사용할 수 있습니다.파일 트리가 큰 경우 각 파일에 대한 날짜가 아니라 한 번만 비교할 수 있는 날짜를 얻는 것도 마찬가지입니다.업데이트된 버전은 다음과 같습니다.

$compareDate = (Get-Date).AddDays(-3)    
@(Get-ChildItem -Path c:\pstbak\*.* -Filter '*.pst','*.mdb' -Recurse | Where-Object { $_.LastWriteTime -gt $compareDate}).Count

이전 답변에 댓글로 추가하고 싶었는데 안 되네요.Dave Sexton의 답변을 시도해 보았지만 카운트가 1인 경우 문제가 있었습니다.이렇게 하면 한 개체가 반환되더라도 배열이 강제로 실행됩니다.

([System.Object[]](gci c:\pstback\ -Filter *.pst | 
    ? { $_.LastWriteTime -gt (Get-Date).AddDays(-3)})).Count

비어 있으면 0을 반환하지 않지만 '-lt 1'을 테스트하면 됩니다.

질문의 제목에 따라 오늘 수정된 모든 파일을 찾는 답은 Get-ChildItem -Path .*.pst| ? {$.LastWriteTime -gt(Get-Date)입니다.일 추가(-1)}

지난 3일 동안 수정되었습니다. Get-ChildItem -Path .*.pst| ? {$.LastWriteTime -gt(Get-Date).일 추가(-3)}

지난 3일 동안 수정되었으며 카운트: (Get-ChildItem -Path .*.pst| ? {$.LastWriteTime -gt(Get-Date).AddDays(-3)}). 카운트

파일을 나열하고 개수만 세고 싶은 경우:

Get-ChildItem "C:\Program Files\*.*" -Recurse | 
Foreach {
$lastupdatetime=$_.LastWriteTime
$nowtime = get-date
if (($nowtime - $lastupdatetime).totaldays -le 3)
{
Write-Host "File modified: "$_
}
}

핵심 요소는 다음과 같습니다."다른 사람이 언급하지 않은 공간의 문제를 피하기 위해서입니다.교체하다C:\Program Files당신이 원하는 어떤 길이든.이름만 사용하려면$_.Name대신에$_.

언급URL : https://stackoverflow.com/questions/17366675/using-get-childitem-to-get-a-list-of-files-modified-in-the-last-3-days

반응형