从 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 {}
部分,如果它与其他文件位于同一文件夹中。
我有一个脚本可以处理三个文件。其中之一的名称始终相同,因此直接在脚本代码中设置。另外两个的名字每个月都不一样。它们看起来像这样:
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 {}
部分,如果它与其他文件位于同一文件夹中。