gpt4 book ai didi

powershell - 如何在字符串中转义变量,PowerShell

转载 作者:行者123 更新时间:2023-12-03 00:55:59 26 4
gpt4 key购买 nike

在我的代码中,我尝试将命令保留在字符串中。然后将其作为参数传递给Invoke-Expression。但是变量之前被评估

$command = "Get-Process | Where-Object { $_.Id -lt 1 }"
Invoke-Expression $command
我试过了: $$\$ ...

最佳答案

您要查找的转义序列字符是反引号(`)!
about_Quoting_Rules help topic:

To prevent the substitution of a variable value in a double-quoted string, use the backtick character (`)(ASCII 96), which is the PowerShell escape character.


"This string contains a `$dollar sign that won't be expanded"

In my code, I try to keep a command in a string; to then pass it as a parameter to Invoke-Expression


作为一般的经验法则, 不这样做-您最终将控制权在脚本或函数中执行的代码交给了调用用户。
在您的示例中,只需直接执行代码就足够了:
Get-Process | Where-Object { $_.Id -lt 1 }
如果您有特定的用例,那么如果没有 Invoke-Expression,您将无法解决重写问题,请使用它来更新问题:)

关于powershell - 如何在字符串中转义变量,PowerShell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63547349/

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