逗号分隔的powershell函数输入

时间:2012-07-16 08:22:55

标签: arrays powershell multidimensional-array powershell-v2.0

我目前有一个函数可以获取目录中所有文件的列表,然后将它们添加到名为$ FileListArray的数组中。

我想添加一个选项,让我指定要从arrary中排除的文件扩展名,以便我可以按如下方式调用该函数 ListFiles -FilesToList“c:\ test”-exclude“avi,txt,bmp “然后这会忽略我放入任何文件扩展名的文件。

我的功能到目前为止

Function ListFiles($FilesToList){

$FileListArray = @()
    Foreach($file in Get-ChildItem $FilesToList -Force -Recurse  | Where-Object {$_.attributes -notlike "Directory"})
    {
        $FileListArray += ,@($file.name,$file.fullname,$File.Extension)
    }

    }

Listfiles  -FilesToList "c:\tools"

1 个答案:

答案 0 :(得分:0)

试试这个:

Function ListFiles($Path,$Exclude)
{
    Get-ChildItem -Path $FilesToList -Force -Recurse  | 
    Where-Object {!$_.PSIsContainer -and $_.Extension -notmatch ($Exclude -join '|') }
}

Listfiles -Pathc:\tools –Exclude avi,txt,bmp