如何在执行语句中正确转义&符号

时间:2013-10-09 13:11:53

标签: powershell

关于在下面的语句中逃避&符号的正确方法的快速问题,这只是一个命令行执行。

& $CmdLine -f:passwordFile.txt /A:Coreplan /U:admin /D:BalSheet /R:global_General_Assets_P&E 

我尝试了许多不同的引号迭代而没有运气。

提前致谢!

3 个答案:

答案 0 :(得分:2)

PowerShell的转义字符是反引号(`),因此请尝试将/R:global_General_Assets_P&E更改为/R:global_General_Assets_P`&E

& $CmdLine -f:passwordFile.txt /A:Coreplan /U:admin /D:BalSheet /R:global_General_Assets_P`&E

如果不起作用:请使用您收到的错误消息更新您的问题。

答案 1 :(得分:1)

如果它是单引号或双引号字符串,则不需要特殊转义。

& $CmdLine -f:passwordFile.txt /A:Coreplan /U:admin /D:BalSheet '/R:global_General_Assets_P&E'

& $CmdLine -f:passwordFile.txt /A:Coreplan /U:admin /D:BalSheet "/R:global_General_Assets_P&E"

应该有效。这假设$cmdline只包含exe的路径。确保$cmdLine不包含任何其他参数...

和Ansgar建议的那样,如果这些方法不起作用,请提供错误详情。

答案 2 :(得分:0)

我将假设$CmdLine是您想要调用的可执行文件或批处理文件,而该行的其余部分是您要发送到$ CmdLine的参数集。

您可以尝试这样的事情:

& $CmdLine "-f:passwordFile.txt" "/A:Coreplan" "/U:admin" "/D:BalSheet" "/R:global_General_Assets_P&E"