POWERSHELL使用WHERE命令搜索文件的路径



我在使用where命令时遇到问题。我必须在C:\Program Files中搜索特定的exe文件及其输出路径。

下面是一个脚本,它可以按照您想要的方式执行某些操作:

Get-ChildItem -Path $env:ProgramFiles -Recurse -Filter '*.exe' -ErrorAction SilentlyContinue | Where-Object {$_.FullName -like '*git*'} | Select-Object FullName
  • Get-ChildItem列出所有文件&给定路径下的文件夹
  • -Path $env:ProgramFiles将环境变量"ProgramFiles"的值(即程序文件目录的路径(发送到Get-ChildItem的path参数
  • -Recurse表示包括子文件夹(一直向下(
  • -Filter '*.exe'表示只返回扩展名为.exe的文件
  • -ErrorAction SilentlyContinue表示,"如果出现某些问题(例如,您无法访问文件夹(,请不要抛出错误消息;只需继续">
  • |是一个流水线字符,用于将当前命令的每个输出发送到下一个命令的流水线输入。也就是说,在这种情况下,Get-ChildItem返回一堆FileSystemInfo对象,这些对象被逐个传递给Where-Object进行过滤
  • CCD_ 11评估布尔表达式;任何评估为true的东西都通过管道进行;导致CCD_ 13的任何操作都会被所有进一步的操作阻塞/忽略
  • CCD_ 14是评价的条件。$_是当前管道变量;即从CCD_ 16命令的输出传递的每个FileSystemInfo对象。FullName是所表示的文件/文件夹的完整路径(例如"c:program filessomethingsomethingelsefile.exe".-like '*git*'表示"返回完整路径中包含文本git的任何值(即*是通配符(
  • 然后,| Select-Object FullName获取Where-Object传递的结果(即与条件匹配的结果(,并从这些对象返回单个属性FullName;因此,您可以获得ex的路径列表,而不是从FileSystemInfo对象中描述它们的所有属性

可以在此处找到完整的PowerShell文档:https://learn.microsoft.com/en-us/powershell/

有关任何特定命令的帮助,请键入Get-Help command,例如Get-Help Get-ChildItem

相关内容

  • 没有找到相关文章

最新更新