PowerShell如何根据部分文件名查找PDF文件并获取完整路径
PowerShell 查找文件问题排查方案
问题原因
- 原命令未拼接
.pdf后缀,过滤规则和目标文件[文件名].pdf的命名规则不匹配 - PowerShell 参数中直接传入对象属性(如
$myVariable.Nom)时,可能无法正确解析属性值,会被识别为普通字符串而非属性的实际内容
正确实现代码
写法1:提前构造过滤变量(可读性更高)
# 拼接得到完整过滤规则 $targetFilter = "$($myVariable.Nom).pdf" # -File 参数限定只查找文件,排除同名文件夹 Get-ChildItem -Path "c:\myPath\" -Filter $targetFilter -File
写法2:单行使用子表达式直接传参
Get-ChildItem -Path "c:\myPath\" -Filter "$($myVariable.Nom).pdf" -File
扩展:直接获取文件完整路径
如果需要直接把完整路径存储到变量,可以取返回结果的FullName属性:
$pdfFullPath = (Get-ChildItem -Path "c:\myPath\" -Filter "$($myVariable.Nom).pdf" -File).FullName
当$myVariable.Nom值为TOTO时,上述命令会匹配到c:\myPath\TOTO.pdf,$pdfFullPath的取值就是该文件的完整路径。
内容的提问来源于stack exchange,提问作者Yoan LILA
相关产品推荐
相关产品推荐

