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

我知道如何使用dir / gcisearch文件,但只能在一个驱动器AFAIK上运行。

  • 有没有办法在计算机上的所有驱动器上进行search?
  • 有没有一种方法,没有手动枚举,然后通过驱动器循环?
  • 有没有办法访问已经在Windows中可用的search索引/服务,以加快search速度?

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

不是那么糟糕…我不能没有像这样所有的驱动器recursion的方式想办法。

有关search索引的信息,请参阅此页面 。

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

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

或search指定的驱动器/共享列表(例如C :, D:和\ SERVER1 \ SHARE1 …)

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

不完全回答你的问题(我不知道答案),但一个问题 – 你必须使用PowerShell? 多年来,我一直是JPSoft Take Command的爱好者和狂热用户(曾经被称为4DOS)。 你当然可以用TC来做到这一点。