Powershell – How to recursively search a directory for all files including hidden files in hidden directories, with PowerShell

powershellsearch

To recursively search for a hidden file, I am using:

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

The output shows me many errors exactly like this (depending on the path):

Get-ChildItem : Access to the path 'C:\Documents and Settings' is
denied. At
C:\Users\USERNAME\Documents\powershell\searchdisk.ps1:10
char:5
+ gci <<<< -Path C:\ -Filter part_of_filename* -Recurse -Force | where { $_.Attributes -match "Hidden"}
+ CategoryInfo : PermissionDenied: (C:\Documents and Settings:String) [Get-ChildItem], UnauthorizedAccessException
+ FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

I need a PowerShell command that recursively searches ANY directory including hidden directories and shows me all files including hidden files of the name part_of_filename* (for this example)

I ran the command using PowerShell ISE as Administrator. It won't search inside directories like

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

Best Answer

You're doing it right. Just run it in an elevated console and remove the filter. If you don't care about permission errors, append -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 has the ReadOnly, Hidden and System attributes.

You may also want to pipe to | select Name, Length, Directory to get rid of that unfortunate Directory: C:\ line. There's also a DirectoryName if you want the full path without the filename.

Related Topic