在PowerShell中不知道其名称的最后五个字符的情况下选择文件

时间:2015-05-20 17:07:17

标签: powershell

我正在使用PowerShell打开PDF文件,因此我可以从中删除一些数据。

我正在声明字符串的文件路径,但文件名的最后五个字符对我来说是未知的。该文件位于共享文件夹中,前10个字符在文件名中是唯一的,因此我可以使用它们来识别文件。

如何使用通配符为文件的最后部分选择文件?

到目前为止,我有:

$filePath = "c:temp\" + $currentYear + "\" + "file201520_*****.pdf"

2 个答案:

答案 0 :(得分:1)

只需使用Get-Item

$dirPath  = Join-Path 'C:\temp' $currentYear 
$filePath = Join-Path $dirPath 'file201520_*.pdf'

$file = Get-Item $filePath

如果文件名包含当前日期,您可以将其计算在内:

$today = Get-Date -f 'yyyydd'

$dirPath  = Join-Path 'C:\temp' $currentYear 
$filePath = Join-Path $dirPath "file${today}_*.pdf"

$file = Get-Item $filePath

答案 1 :(得分:1)

“*”是匹配零个或多个字符的通配符。还有另一个通配符“?”,它只匹配一个字符。因此,如果您将文件路径指定为

$filePath = "c:temp\" + $currentYear + "\" + "file201520_?????.pdf"

你应该得到你想要的东西。

请参阅 Wildcards