在powershell中查找没有特定文件的文件夹

在powershell中查找没有特定文件的文件夹

我有子文件夹和子子文件夹。在子子文件夹中,我想查找所有没有名为 PKA.dump 的文件的子文件夹。这可以在 powershell 中完成吗?

子文件夹从 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

这将显示所有名为 *eV 但不包含 PKA.dump 文件的文件夹的完整路径。如果这不是您想要的,那么至少它可以为您提供一些想法。

(供将来参考,对于这些类型的问题,您应该展示示例输入和预期输出。)

答案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")

相关内容