gpt4 book ai didi

sql-server-2008 - 搜索字符串变量然后在 PowerShell 中运行条件语句

转载 作者:行者123 更新时间:2023-12-04 06:58:06 24 4
gpt4 key购买 nike

我是 PowerShell 的新手。我最近的任务是制作一条错误消息弹出窗口,以帮助本地用户确定 MS SQL 按需数据库合并是否有效。我写了一个脚本,它会执行以下操作:

  • 运行执行合并的批处理文件
  • 将文本日志文件的结果读入变量
  • 检查变量中是否存在单词“ERROR”的任何实例,并根据是否在日志文件中发现单词错误弹出成功或失败对话框。

    我认为快速而简单,但我似乎在与条件语句作斗争。这是脚本:

    cmd /c c:\users\PERSON\desktop\merge.bat

    $c = get-content c:\replmerg.log

    if ($c -contains ("ERROR"))
    {
    $a = new-object -comobject wscript.shell
    $b = $a.popup(“ERROR - Database Merge“,0,”Please Contact Support”,1)
    }

    else
    {
    $a = new-object -comobject wscript.shell
    $b = $a.popup(“SUCCESS - Database Merge“,0,”Good Job!”,1)
    }

    现在发生的是脚本运行并跳到成功消息。我可以确认,只需在 powershell 中运行“get-content”命令即可自行生成一个变量,然后我可以调用该变量并显示日志文件的内容。然而,我的脚本并没有出现,好像它实际上正在检查 $c 变量中的单词,然后按预期弹出错误消息。我在这里错过了什么?

  • 最佳答案

    Christian 的回答是正确的。您还可以使用 -match 运算符。例如:

    if ((Get-Content c:\replmerg.log) -match "ERROR")
    {
    'do error stuff'
    }
    else
    {
    'do success stuff'
    }

    如果你想要区分大小写的比较,你可以使用-cmatch

    关于sql-server-2008 - 搜索字符串变量然后在 PowerShell 中运行条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5886003/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com