如何检查文件是否包含powershell中的args [0]参数

时间:2016-12-19 15:22:50

标签: powershell

所以任务是检查args [0]中给出的时间(例如20:30) 在文本文档中看起来像这样。 (ABC-123,20:00  BCA-321,15:20  CBA-231,21:30  等等。)

我已尝试使用此代码

$foglalas = Get-Content C:\users\Ádám\desktop\teligumi.txt

if ($foglalas -contains $args[0])
{
  Write-Host "Foglalt időpont"
}
else {Write-Host "Jó időpont!"}

但它始终表示它不包含它,无论它是否确实存在。 是的,我知道它是一个初学者的问题,但我真的很坚持,任何解决方案都会受到欢迎。

2 个答案:

答案 0 :(得分:1)

还有另一种方法:

$foglalas = Get-Content C:\users\Ádám\desktop\teligumi.txt | Where {$_ -match [regex]::Escape($args[0])}

if ($foglalas) { Write-Host "Foglalt időpont" } 
else {Write-Host "Jó időpont!"}

答案 1 :(得分:0)

你可以使用select-string with -quiet选项返回boolean和-simplematch而不评估正则表达式

if ($args[0] -and (Select-String -Path "C:\users\Ádám\desktop\teligumi.txt" -Pattern $args[0] -Quiet -SimpleMatch))
{
 Write-Host "Foglalt időpont"
}
else 
{
Write-Host "Jó időpont!"
}