仅获取目录中具有给定扩展名的文件

D.R*_*.R. 8 powershell powershell-5.0

我有一个指向目录的字符串变量。在这个目录中有一个扩展名为.xyz. 如何在不知道文件名本身的情况下获取此文件的路径?

到目前为止,我有以下代码:

$dir = "C:\Temp\MyDir"
$xyzFiles = @(Get-ChildItem "$dir\*.xyz")
$file = $xyzFiles[0]
Run Code Online (Sandbox Code Playgroud)

这是PowerShell中的“要走的路”吗?有更好的解决方案吗?

Jac*_*vin 9

我建议使用Get-ChildItem's-include参数。

Get-ChildItem $dir -include *.xyz

  • `-include *` 工作,返回所有文件,`-include *.RTF` 似乎没有选择目录中的 RTF 文件。?? (4认同)
  • @AdamO 看来您需要添加 `-Recurse` 标志。 (2认同)

Mat*_*sen 5

我会使用Get-ChildItem -FilterSelect-Object -First

$filepath = Get-ChildItem -Path $dir -Filter *.xyz |Select -First 1
Run Code Online (Sandbox Code Playgroud)