我试图从
gci -recurse
输出中排除“AppData”和“Application Data”目录,但它不起作用:
PS C:\Users> gci -Force -Dir -R 2>$null | ? { ( $_.Name -notLike 'AppData' ) -and ( $_.Name -notLike 'Application Data' ) } | % FullName | sls appdata | select -f 10
C:\Users\Default\AppData\Local
C:\Users\Default\AppData\Roaming
C:\Users\Default\AppData\Local\Barco
C:\Users\Default\AppData\Local\Historique
C:\Users\Default\AppData\Local\History
C:\Users\Default\AppData\Local\Microsoft
C:\Users\Default\AppData\Local\Temp
C:\Users\Default\AppData\Local\Temporary Internet Files
C:\Users\Default\AppData\Local\Barco\ClickShare App
C:\Users\Default\AppData\Local\Barco\ClickShare App\cache
PS C:\Users>
我也尝试过测试
$_.FullName
的值,但它也不起作用。
我期望除
Appdata
(或Application Data
)目录之外的任何目录。
先排除顶层目录的名称,然后递归结果。您可以通过管道返回 get-childitem。
gci -Force -Dir |
? { $_.Name -ne 'AppData' -and $_.Name -ne 'Application Data' } |
gci -force -dir -R
或 - 从字面上排除:
# also Cookies,'Local Settings','My Documents',NetHood,PrintHood,Recent,SendTo,
# 'Start Menu',Templates
gci -Force -Dir -exclude AppData,'Application Data' | gci -force -dir -R