使用 Powershell 在所有驱动器中查找文件

使用 Powershell 在所有驱动器中查找文件

我知道如何使用 dir/gci 搜索文件,但据我所知这只适用于一个驱动器。

  • 有没有办法搜索计算机上的所有驱动器?
  • 有没有一种方法,无需手动枚举然后循环遍历驱动器?
  • 有没有办法访问 Windows 中已有的搜索索引/服务,以加快搜索速度?

答案1

这将按所有可用驱动器上的目录按大小降序列出所有 ZIP 文件:

get-psdrive -p "FileSystem" `
| % {write-host -f Green "Searching " $_.Root;get-childitem $_.Root -include *.ZIP -r `
| sort-object Length -descending}

或者搜索指定的驱动器/共享列表(例如 C:、D: 和 \SERVER1\SHARE1...)

$paths="C:\","D:\","\\SERVER1\SHARE1" `
| % {write-host -f Green "Searching " $_;get-childitem $_ -include *.ZIP -r `
| sort-object Length -descending}

答案2

$drive = get-psdrive
foreach ($a in $drive) {gci}

还不错...但是,我想不出不像这样递归所有驱动器的方法。

这一页有关搜索索引的信息。

相关内容