#arrays #powershell #get-childitem
#массивы #powershell #получить дочерний элемент
Вопрос:
Почему $ arraychoices не работает в этом gci?.. Но если я жестко закодирую расширение типа файла в нем?
Не работает
$filetypes = @()
$filetypes = '*.pdf'
$filetypes = '*.txt'
$ftc = $filetypes
$arraychoices = "('$($ftc -join "','")')"
$fr = Get-ChildItem C:backuptest **-include $arraychoices** -Recurse
$files = $fr.fullname
$files
Работает ли Harcode?
Get-ChildItem C:backuptest **-include ('*.pdf','*.txt')** -Recurse
Чего мне не хватает? Это мой приведенный выше пример. Я использую флажки для расширений типов файлов, поэтому метод жесткого кода не подходит.
Любая помощь приветствуется. TIA
Комментарии:
1. Есть разница между строкой
'a,b'
и массивом строк'a','b'
. Полностью пропустите шаг$ftc
/$arraychoices
:Get-ChildItem -Include $filetypes
2. О, вау. Как я это пропустил. Отлично работает. Спасибо за ваше время, Матиас!
Ответ №1:
$filetypes
уже является массивом строк — передайте его непосредственно в -Include
параметр:
$filetypes = @()
$filetypes = '*.pdf'
$filetypes = '*.txt'
Get-ChildItem -Include $filetypes ...