Powershell에서 특정 파일이 없는 폴더 찾기

Powershell에서 특정 파일이 없는 폴더 찾기

하위 폴더와 하위 폴더가 있습니다. 하위 폴더에서 PKA.dump라는 파일이 없는 모든 하위 폴더를 찾고 싶습니다. 파워쉘에서 할 수 있나요?

하위 폴더는 Angle1, Angle2 등에서 Angle24까지 이동합니다.

하위 폴더는 1eV, 2eV에서 150eV까지입니다.

특정 크기보다 작은 경우를 찾을 수 있습니다.

Get-Childitem -path .  -filter "PKA.dump" -recurse | where {$_.Length -le 500}

하지만 만약 그것들이 존재하지 않는다면 어떻게 될까요?

답변1

내가 당신을 올바르게 이해했다면 다음과 같이 작동해야합니다.

gci -Filter *eV -Directory -Recurse | 
    ? { -not (Test-Path "$($_.FullName)\PKA.dump") } | 
    select FullName

그러면 PKA.dump 파일이 포함되지 않은 *eV라는 이름의 모든 폴더에 대한 전체 경로가 표시됩니다. 그것이 당신이 원하는 것이 아니라면 적어도 몇 가지 아이디어를 얻을 수 있을 것입니다.

(나중에 참고할 수 있도록 이러한 유형의 질문에 대해서는 입력 예시와 예상 출력을 표시해야 합니다.)

답변2

폴더가 있는 위치에 경로를 추가하면 작동합니다.

$path = " "; # ADD YOUR PATH TO FOLDER HERE
$all_loc = Get-ChildItem -Recurse $path -Include "ev*" #Only looks where ev* exists

foreach ($x in $all_loc){ # look through all  "ev*" subsubfolders 
    $z = (Join-Path $x.FullName "PKA.dump") # variable to hold file name to search
    $test = Test-Path "$z" -PathType leaf;
    if ($test -eq 0){
        echo "$x does not contain PKA.dump";
        ## Uncomment below to create empty PKA.dump file
        #New-Item $z -type file
    }
}

## uncomment below to pause before closing
#$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

관련 정보