如何使用PowerShell以递归方式在目录中搜索包含隐藏目录中隐藏文件的所有文件?

时间:2014-10-17 12:43:50

标签: powershell search

要递归搜索隐藏文件,我正在使用:

gci -Path C:\ -Filter part_of_filename* -Recurse -Force | where { $_.Attributes -match "Hidden"}

输出显示很多错误(取决于路径):

  

Get-ChildItem:访问路径“C:\ Documents and Settings”是   否认。在   C:\ Users \用户名\文件\的powershell \ searchdisk.ps1:10   焦炭:5   + gci<<<< -Path C:\ -Filter part_of_filename * -Recurse -Force |其中{$ _。属性 - 匹配“隐藏”}       + CategoryInfo:PermissionDenied:(C:\ Documents and Settings:String)[Get-ChildItem],UnauthorizedAccessException       + FullyQualifiedErrorId:DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

我需要一个PowerShell命令,递归搜索包含隐藏目录的任何目录,并向我显示所有文件,包括名称为part_of_filename *的隐藏文件(对于此示例)

我使用PowerShell ISE作为管理员运行命令。它不会搜索像

这样的目录
  

C:\ Windows \ System32下\ LogFiles文件\ WMI \ RtBackup

1 个答案:

答案 0 :(得分:7)

你做得对。只需在高架控制台中运行它并移除过滤器即可。如果您不关心权限错误,请附加-ErrorAction SilentlyContinue

Get-ChildItem -Path C:\ -Filter lush* -Recurse -Force `
              -ErrorAction SilentlyContinue


Directory: C:\

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-arhs        25.09.2013     12:16       1208 lush.asx

lush.asx包含 ReadOnly 隐藏系统属性。

您可能还想通过管道| select Name, Length, Directory来摆脱那条不幸的Directory: C:\行。如果您想要没有文件名的完整路径,那么还有DirectoryName