【发布时间】:2017-11-24 15:19:13
【问题描述】:
我有一个适用于三个文件的脚本。其中之一的名称始终相同,因此直接在脚本代码中设置。另外两个的名字每个月都不一样。它们看起来像这样:
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_”)。我怎样才能做到这一点?最后一个文件名在第二个单词中不同。我需要在没有扩展名的情况下读取文件名。
我希望这是可以理解的,我需要达到的目标。
【问题讨论】:
-
你能把你试过的代码贴出来让我们看看你卡在哪里了吗?
-
好吧,我并没有完全陷入困境,脚本运行良好,我只是想让它更易于使用。现在我使用 Read-Host cmdlet 获取脚本
$ReportAdded = Read-Host "File name of added users report"和$ReportRemoved = Read-Host "File name of removed users report"的文件名,我想将其替换为自动获取文件名的过程。 -
Get-Content -File "C:\temp\proemail vytvoreni*"?需要注意的是,如果有多个文件,它将全部读取。因此,只要您可以确定或有检查逻辑,我就不会在这里看到问题。 -
嗯,我在 Get-Content cmdlet 中看不到任何 -File 参数。我有 PS 5.1
-
试试 -Path
标签: powershell text filenames