Powershell-包括$ variable麻烦

问题描述

为什么$ 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 Works?

Get-ChildItem C:\backuptest **-include ('*.pdf','*.txt')** -Recurse 

我想念什么?我是我上面的例子。我正在使用文件扩展名复选框,因此硬编码方法不是一种选择。

感谢您的帮助。 TIA

解决方法

$filetypes已经一个字符串数组-将其直接传递给-Include参数:

$filetypes = @()
$filetypes += '*.pdf'
$filetypes += '*.txt'

Get-ChildItem -Include $filetypes ...