使用PowerShell进行递归文件搜索

我正在搜索所有文件夹中的文件。

Copyforbuild.bat在很多地方都可用,我想递归搜索。

$File = "V:Myfolder***.CopyForbuild.bat"

我如何在PowerShell中执行此操作?


使用具有-Recurse开关的Get-ChildItem cmdlet:

Get-ChildItem -Path V:Myfolder -Filter CopyForbuild.bat -Recurse -ErrorAction SilentlyContinue -Force

我知道这个问题很老,但我无法对Shay Levy的回答发表评论。

在基于安全性(例如C:Users )搜索可能出现错误的文件夹时,请使用以下命令:

Get-ChildItem -Path V:Myfolder -Filter CopyForbuild.bat -Recurse -ErrorAction SilentlyContinue -Force

我使用它来查找文件,然后让PowerShell显示结果的整个路径:

dir -Path C:FolderName -Filter FileName.fileExtension -Recurse | %{$_.FullName}

您始终可以在FolderName和/或FileName.fileExtension中使用通配符* 。 例如:

dir -Path C:Folder* -Filter File*.file* -Recurse | %{$_.FullName}

以上示例将搜索以Folder开头的C:驱动器中的任何文件Folder 。 所以,如果您有一个名为FolderFoo的文件夹,并且FolderBar PowerShell将显示来自这两个文件夹的结果。

文件名和文件扩展名也一样。 如果您要搜索具有特定扩展名的文件,但不知道可以使用的文件的名称:

dir -Path C:FolderName -Filter *.fileExtension -Recurse | %{$_.FullName}

或者反过来:

dir -Path C:FolderName -Filter FileName.* -Recurse | %{$_.FullName}
链接地址: http://www.djcxy.com/p/4951.html

上一篇: Recursive file search using PowerShell

下一篇: Determine if current PowerShell Process is 32