添加文件/文件夹排除到递归文件搜索与powershell



正在编写脚本以获取服务器上的所有文件并将其属性放入CSV中。下面的工作很好,但是,我想添加一些文件和文件夹排除。

对于文件夹,我想跳过cookie文件夹USERSnamePersonalsysdatacookies

对于文件,我想排除。link和。url文件。

谢谢。

$arr = @()
gci "D:COMPANYUSERSa, user" -recurse 
| ? {$_.PSIsContainer -eq $False} 
| % {
    $obj = New-Object PSObject
    $obj | Add-Member NoteProperty Directory $_.DirectoryName
    $obj | Add-Member NoteProperty Name $_.Name
    $obj | Add-Member NoteProperty MB ("{0:N3}" -f ($_.Length/1MB))
    $obj | Add-Member NoteProperty created $_.creationtime
    $obj | Add-Member NoteProperty LastAccessed $_.LastAccessTime
    $obj | Add-Member NoteProperty LastMofified $_.LastWriteTime
    $obj | Add-Member NoteProperty Extension $_.Extension
    $obj | Add-Member NoteProperty Owner ((Get-ACL $_.FullName).Owner)
    $arr += $obj
    }
$arr | Export-CSV -notypeinformation "C:filesTest.csv"

它使用正则表达式,所以它不是超级快,但尝试在第3行添加过滤器:

| ? {$_.PSIsContainer -eq $False -and $_.Extension -notin ".lnk",".url" -and $_.Directory -notmatch ".*USERS\.*\Personal\sysdata\cookies"}

最新更新