Используя следующий код Powershell, я пытаюсь найти папки, в которых не содержится robots.txt в корне. Как правило, я мог бы сделать это рекурсивно, но он принимает FOREVER, чтобы восстановить эту массивную структуру папок. Мне действительно нужен только первый уровень, AKA ищет только папки, найденные в C: \ Projects.Папки Powershell Return, которые содержат определенный файл, но не полностью рекурсивный
В принципе, мне нужно получить детей от каждого набора детей, и только потом вернуть родителей, где не было файла robots.txt. Проблема, с которой я столкнулась здесь, - это мой $ _ в вложенном цикле, который дает мне CWD, а не дочерние элементы каталога, который я ищу. Я знаю, что мне, возможно, придется использовать «Где-то здесь, но я немного над головой и довольно новый для powershell. Любая помощь приветствуется!
$drv = gci C:\Projects | %{
$parent = $_; gci -exclude "robots.txt" | %{$_.parent}} | gu
Спасибо. Тестовый путь, хотя и не такой элегантный, как рекурсия дочерних каталогов, намного быстрее и легче читать. – Richthofen
Вы считаете, что множественная рекурсия с помощью ограничителей глубины элегантна? В самом деле? :) – x0n
Ну, я пытался сначала записать его в псевдокоде, и несколько рекурсий были самым простым способом «изобразить» то, что я хотел. Но, зная, что есть метод тестового пути, ну, я думаю, это значительно упрощает работу. – Richthofen