Encontrar pasta sem determinado arquivo no powershell

0

Eu tenho subpastas e sub-pastas. Nas subconsultas, quero encontrar todas as subpastas sem um arquivo chamado PKA.dump. Isso pode ser feito em powershell?

As subpastas vão de Angle1, Angle2, etc até Angle24

As subsubfolders vão de 1eV, 2eV a 150eV.

Eu posso encontrar quando eles têm menos de um determinado tamanho:

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

Mas e se eles não existirem?

    
por Jackson Hart 19.05.2015 / 18:17

2 respostas

0

Se eu entendi corretamente, algo assim deve funcionar:

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

Isso mostrará o caminho completo para todas as pastas denominadas * eV que não contêm um arquivo PKA.dump. Se isso não é o que você queria, então pelo menos poderia lhe dar algumas idéias.

(Para referência futura, para esses tipos de perguntas, você deve mostrar exemplos de entradas e saídas esperadas.)

    
por 20.05.2015 / 03:48
0

Adicione seu caminho ao local de sua pasta e isso deve funcionar.

$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")
    
por 20.05.2015 / 08:01

Tags