gpt4 book ai didi

mysql - 如何从命令行将带括号的参数传递给 Powershell?

转载 作者:行者123 更新时间:2023-11-29 04:09:20 25 4
gpt4 key购买 nike

我有一个名为 MSSQLStartStopServices.ps1 的 Powershell 脚本,用于停止某些 SQL Server 服务。正在使用第三方供应商软件调用此脚本。有问题的参数是 Fully qualified instance nameStart|Stop

例如

MSSQLStartStopServices.ps1 HOSTNAME\INSTANCENAME Start

对于默认实例,软件通过(本地)作为 INSTANCENAME。

MSSQLStartStopServices.ps1 HOSTNAME\(local) Start

但是当我运行它时,我从 Powershell 得到一个错误:

The term 'local' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

当我尝试将实例名称放在引号中时,它在 Powershell 窗口中工作正常:

MSSQLStartStopServices.ps1 "HOSTNAME\(local)" Start

然而,第三方软件首先从命令行调用 Powershell,如下所示:

powershell .\MSSQLStartStopServices.ps1 "HOSTNAME\(local)" Start

这会导致与引号不存在相同的错误。

我该如何解决这个问题?

最佳答案

尝试用双引号将脚本调用括起来,然后将每个参数用单引号括起来:

".\MSSQLStartStopServices.ps1" 'HOSTNAME\(local)' 'Start'

关于mysql - 如何从命令行将带括号的参数传递给 Powershell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17189965/

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