从powershell中读取文件名

时间:2017-11-24 15:19:13

标签: powershell text filenames

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

proemail vytvoreni_9.2017 2017-10-16.csv

proemail neaktivni_9.2017 2017-10-16.csv

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

现在我需要告诉脚本“从文件名中读取文本,以proemail vytvoreni_开头”(或分别为“proemail neaktivni_”)。我怎样才能做到这一点?最后一个文件名在第二个单词中有所不同。我需要在没有扩展名的情况下读取文件名。

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

1 个答案:

答案 0 :(得分:0)

假设文件位于等同于$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 {},如果它与其他文件夹在同一文件夹中,也可以在此处添加第三个静态命名文件。