如何使用PowerShell递归搜索目录中的所有文件,包括隐藏目录中的隐藏文件?

Posted

技术标签:

【中文标题】如何使用PowerShell递归搜索目录中的所有文件,包括隐藏目录中的隐藏文件?【英文标题】:How to recursively search a directory for all files including hidden files in hidden directories, with PowerShell? 【发布时间】:2014-12-13 01:17:03 【问题描述】:

要递归搜索隐藏文件,我使用的是:

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

输出显示了许多与此完全相同的错误(取决于路径):

Get-ChildItem : 访问路径“C:\Documents and Settings”是 否认。在 C:\Users\USERNAME\Documents\powershell\searchdisk.ps1:10 字符:5 + gci

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

我以管理员身份使用 PowerShell ISE 运行了该命令。它不会在目录中搜索

C:\Windows\System32\LogFiles\WMI\RtBackup

【问题讨论】:

这肯定需要以提升的权限运行 问题是Documents and settings不是一个目录,而是一个连接点。一些让程序相信目录仍然存在的 NTFS 技巧,而它实际上是用户的快捷方式。这是关于该主题的 SO 问题:***.com/questions/2311105/… 【参考方案1】:

你做得对。只需在提升的控制台中运行它并删除过滤器即可。如果您不关心权限错误,请附加-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 具有 ReadOnlyHiddenSystem 属性。

您可能还想通过管道发送到| select Name, Length, Directory 以摆脱不幸的Directory: C:\ 行。如果您想要没有文件名的完整路径,还有一个DirectoryName

【讨论】:

以上是关于如何使用PowerShell递归搜索目录中的所有文件,包括隐藏目录中的隐藏文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何递归获取PowerShell中的所有文件和文件夹的大小,自定义输出

powershell Powershell行搜索给定模式的目录中的所有texxt文件。返回路径和文本行

如何递归归档powershell文件夹中的每个文件?

如何获取目录下的文件数(一行Python)

powershell PowerShell文件,用于根据图像尺寸递归重命名和编辑目录中的图像。

如何使用 Powershell 从文件中递归地抓取电子邮件地址?