Найти папку без определенного файла в powershell

У меня есть подпапки, и subsubfolders. В subsubfolders, я хочу найти все вложенные папки без файл ПКА.свалка. Можно ли это сделать в powershell?

вложенные папки идут от Angle1, Angle2 и т. д. до Angle24

в subsubfolders перейти от менее 1 эВ, 2 EV с шагом, чтобы 150eV.

Я могу найти, когда они меньше определенного размера:

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

но если они не существуют?

12
задан Jackson Hart
10.03.2023 19:42 Количество просмотров материала 2758
Распечатать страницу

2 ответа

Если я правильно понял, что-то вроде этого должно работать:

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

показывает полный путь ко всем папкам с именем *eV, которые не содержат PKA.файл дампа. Если это не то, что вы хотели, то, по крайней мере, это может дать вам некоторые идеи.

(для дальнейшего использования, для этих типов вопросов, вы должны показать примеры входов и ожидаемых результатов.)

0
отвечен dangph 2023-03-12 03:30

добавить путь, где ваш папка и он должен работать.

$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")
0
отвечен Dean Spicer 2023-03-12 05:47

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх