如何在PowerShell中通过固定文件名前缀定位并打开目标文件?
解决PowerShell指向前缀固定文件的问题
要让变量始终指向前缀为Name、后缀数字变化的.exe文件,你可以用以下几种实用方法:
方法1:获取最新的目标文件
如果需要自动指向最新创建/修改的NameX.exe,可以结合文件排序实现:
# 定义目标文件夹路径 $targetFolder = "Volume\Folder" # 筛选前缀匹配的文件,按修改时间倒序取第一个 $latestTargetFile = Get-ChildItem -Path $targetFolder -Filter "Name*.exe" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 # 将文件完整路径赋值给变量 $myVariable = $latestTargetFile.FullName
每次使用$myVariable时,它都会指向当前最新的那个文件。
方法2:动态实时获取路径
如果希望变量能随时获取最新的目标文件路径,可以用脚本块变量:
# 定义动态获取路径的脚本块 $myVariable = { Get-ChildItem -Path "Volume\Folder" -Filter "Name*.exe" | Sort-Object LastWriteTime -Descending | Select-Object -ExpandProperty FullName -First 1 }
使用时通过调用脚本块获取最新路径:
& $myVariable
方法3:获取所有匹配的文件
如果需要一次性获取所有NameX.exe文件的路径,直接用:
$allMatchingFiles = Get-ChildItem -Path "Volume\Folder" -Filter "Name*.exe" | Select-Object -ExpandProperty FullName
$allMatchingFiles会是一个包含所有符合条件文件路径的数组。
注意:如果目标文件夹路径包含空格,记得用双引号包裹路径,比如
"C:\My Volume\My Folder"。
内容的提问来源于stack exchange,提问作者Sergio Yepes
相关产品推荐
相关产品推荐

