Отримання єдиної назви папки, але не її вмісту


1

Це здається таким простим, але я не можу знайти відповідь. У мене є коренева папка під назвою Processing. Всередині кореневої папки користувач перемістить папку із сотнями інших папок та файлів. Я не знаю, як буде називатися назва цієї папки.

Все, що я намагаюся зробити, це отримати ім'я однієї папки та помістити її в змінну.

Заздалегідь спасибі!

**Such as:**
$folderName = SUBFOLDER
PROCESSING
  -> SUBFOLDER  (All I need is this name)
        ->F1    (Not any of these)
        ->F2
        ->F3
        ->etc...

Відповіді:


1

Щоб виключити F1, F2 тощо, не використовуйте параметр -Recurse. Також використовуйте -Name, щоб отримати лише ім'я підпапки без жодних додаткових даних. Тому,

$foldername = get-childitem -Path C:\Temp\Processing -Directory -Name

помістить ім'я цієї папки (ви сказали, що існує лише одна) у змінну $ namename.


Хоча ОП не заявив, я вирішив використовувати рекурс, припускаю, що ця ОП може починатись високо в дереві. У моїй тематичній папці є десятки папок і папок. Ця папка NewFiles не нижче температури, тим глибша, отже, повторність. знайти папку незалежно від того, де вона була на дереві.
postanote

1

Ви б використовували перемикач -фільтр та -Директор.

$folder = 'NewFiles'
Get-ChildItem -Path 'D:\Temp' -Filter $folder -Directory -Recurse

    Directory: D:\Temp


Mode                LastWriteTime         Length Name                                                                                                
----                -------------         ------ ----                                                                                                
d-----        30-Dec-18     20:39                NewFiles 

Оновлення для ОП.

Правильно, NewFiles - це велика дитина температури.

(Get-ChildItem -Path 'D:\Temp' -Filter $folder -Directory -Recurse).FullName

# actual UNC
D:\Temp\PngFiles\NewFiles

Дякую за відповідь Коли я намагаюся використовувати вищезазначений код, все, що я отримую, - це ім'я "NewFiles", яке не тягне за собою ім'я папки в кореневій папці. Якщо я правильно розумію у вашому коді, шлях D: \ Temp сканується, виводячи правильну назву підпапки "NewFiles"? Це те, що я намагаюся отримати, але здається, що "NewFiles" просто встановлено, і Get-ChildItem нічого не робить.
Tohny.Johnson

Правильно, NewFiles - це велика дитина температури.
postanote
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.