
Eu tenho subpastas e subsubpastas. Nas subsubpastas, quero encontrar todas as subpastas sem um arquivo chamado PKA.dump. Isso pode ser feito no PowerShell?
As subpastas vão de Angle1, Angle2, etc até Angle24
As subsubpastas vão de 1eV, 2eV a 150eV.
Posso descobrir quando eles são menores que um determinado tamanho:
Get-Childitem -path . -filter "PKA.dump" -recurse | where {$_.Length -le 500}
Mas e se eles não existirem?
Responder1
Se 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 não é isso que você queria, pelo menos pode lhe dar algumas idéias.
(Para referência futura, para esses tipos de perguntas, você deve mostrar exemplos de entradas e resultados esperados.)
Responder2
Adicione seu caminho ao local onde está sua pasta e 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")