我在这里尝试一些非常简单的事情,但无法弄清楚我哪里出错了。我发现了许多其他有用的讨论 - particularly here - 但还没有找到任何涵盖我的特定场景的内容。
在 powershell 中,我输入了以下内容:
$path = "c:\program files\"
$path2 = "c:\program files\fred2\"
echoargs $path $path2
echoargs "$path" "$path2"
在对 echoargs 的两次调用中,我得到
Arg 0 is <c:\program files" c:\program>
Arg 1 is <files\fred2">
返回结果。如何才能正确传递参数?
注意:在我的真实脚本中,路径变量是由一些配置参数构建的,因此我不能直接用单引号传递它们。
最佳答案
您需要将结果字符串括在执行范围内的单引号中:
echoargs "'$path'" "'$path2'"
这会将它们传递给被调用的应用程序,并在单引号内分隔,但由于整个字符串仍然在双引号中,因此您的参数将被正确扩展。
关于powershell - 使用空格传递计算路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8883215/