gpt4 book ai didi

powershell - 在Powershell Invoke-Expression中转义飞溅的变量

转载 作者:行者123 更新时间:2023-12-04 05:34:14 25 4
gpt4 key购买 nike

我正在尝试从Powershell调用另一个应用程序(超越比较),该应用程序在典型的命令行中需要一个@:

C:\deploy>bcompare @static.diff

我已经找到了Powershell的Invoke-Expression,但是当我尝试以下操作时,它给了我一个错误:
PS C:\deploy>Invoke-Expression "bcompare @static.diff"
Invoke-Expression : Cannot expand the splatted variable '@static'. Splatted variables
cannot be used as part of a property or array expression. Assign the result of the
expression to a temporary variable then splat the temporary variable instead.
At line:1 char:18
+ Invoke-Expression <<<< "bcompare @static.diff"
+ CategoryInfo : ParserError: (:) [Invoke-Expression], ParseException
+ FullyQualifiedErrorId : NoPropertiesInSplatting,Microsoft.PowerShell.Comands.InvokeExpressionCommand

我无法通过@正确地逃脱。我已经尝试过`,@@,将命令的一部分放在一个临时变量中,但是没有一个能做到这一点。

最佳答案

bcompare '@static.diff'

如有疑问,请将其放入字符串中:-)
PS Home:\> args '@static.diff'
argv[0] = "C:\Users\Joey\Batches\args.cmd"
argv[1] = @static.diff

关于powershell - 在Powershell Invoke-Expression中转义飞溅的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5571579/

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