Я пытаюсь получить очень конкретный список каталогов, не имеющий успеха до сих пор.Каталог двухуровневых каталогов с Powershell
Допустим, у меня есть структура папок, как это:
- C: \ Inetpub \ Updates \ updatefolder1
- C: \ Inetpub \ Updates \ updatefolder1 \ Web \
- C: \ Inetpub \ обновления \ updatefolder1 \ Web \ (код сайта, структура продолжается)
- C: \ Inetpub \ Updates \ updatefolder1 \ Scripts \ (DB скрипты)
- C: \ Inetpub \ Updates \ updatefolder2
- C: \ Inetpub \ Updates \ updatefolder2 \ Web \ (код сайта, структура продолжается)
Теперь, когда я использую Еогеасп, он будет выглядеть следующим образом:
$folders = Get-ChildItem $UpdateDir -Directory -Recurse -Depth 1 | Select-Object FullName
ForEach($folder in $folders) {
$folder = folder.TrimStart("@{FullName=").TrimEnd("}") #To get a clean name
}
Результат будет должны быть следующими:
C:\inetpub\updates\updatefolder1
C:\inetpub\updates\updatefolder2
C:\inetpub\updates\updatefolder1\Web\
C:\inetpub\updates\updatefolder1\Web\ (site code, the structure goes on)
C:\inetpub\updates\updatefolder1\Scripts\ (db scripts)
C:\inetpub\updates\updatefolder2\Web\ (site code, the structure goes on)
Что не в порядке. Он должен выглядеть следующим образом:
C:\inetpub\updates\updatefolder1
C:\inetpub\updates\updatefolder1\Web\
C:\inetpub\updates\updatefolder1\Web\ (site code, the structure goes on)
C:\inetpub\updates\updatefolder1\Scripts\ (db scripts)
C:\inetpub\updates\updatefolder2
C:\inetpub\updates\updatefolder2\Web\ (site code, the structure goes on)
Есть свежие идеи? Я пробовал несколько вещей, кроме этого цикла foreach, до сих пор не повезло.
Заранее спасибо.
1. код выложили здесь, кажется, есть много опечаток. 2. Чего вы пытаетесь достичь? 3. Оба результата, которые вы опубликовали, выглядят одинаково, кроме последовательности/порядка. Можете ли вы проверить один раз и подтвердить? – SavindraSingh
Проблема заключается в ужасном хаке, который вы используете, чтобы получить полное имя. Удалите весь цикл 'ForEach' и измените первую строку на' $ folders = Get-ChildItem $ UpdateDir -Directory -Recurse -Depth 1 | Select-Object -Expand FullName' – TheMadTechnician
@SavindraSingh Typos? Где ? Кроме того, что я забыл добавить переменную для фактического вывода. – Ramil