从 powershell 中的部分读取文件名

Read file name from its part in powershell

我有一个脚本可以处理三个文件。其中之一的名称始终相同,因此直接在脚本代码中设置。另外两个的名字每个月都不一样。它们看起来像这样:

proemail vytvoreni_9.2017 2017-10-16.csv

proemail neaktivni_9.2017 2017-10-16.csv

扩展名前的最后 10 个字符是创建日期,9.2017(在本例中)定义了此报告与哪个月份相关。但是日期完全不同,所以我想知道我是否可以读取文件名而不使用 Read-Host cmdlet 让脚本在 运行.[=10= 时询问文件名]

现在我需要告诉脚本 "read text from a file name, that starts with proemail vytvoreni_"(或分别为 "proemail neaktivni_")。我怎样才能做到这一点?最后一个文件名的第二个词不同。我需要读取不带扩展名的文件名。

我希望这是可以理解的,我需要实现的目标。

假设文件在等同于 $PSScriptRoot 的目录中,那么这应该可行。

$ReportPridani = Get-ChildItem -Path $PSScriptRoot | Where {$_.Name -like 'proemail vytvoreni*' -or $_.Name -like 'proemail neaktivni*'}

Get-ChildItem 列出目录中的文件,Where 过滤它们。您也可以在此处包含您的第三个静态命名文件,方法是将 -or $_.name -eq 'static filename' 添加到 Where {} 部分,如果它与其他文件位于同一文件夹中。