powershell - 使用空格传递计算路径

标签 powershell arguments

我在这里尝试一些非常简单的事情,但无法弄清楚我哪里出错了。我发现了许多其他有用的讨论 - 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/

相关文章:

c++ - 跳过 C++ 函数中的一些参数?

c ,在函数中传递 char 数组作为参数?

objective-c - 方法调用的参数太多

Powershell : Update properties file with key = value

powershell - 使用 "Invoke-Command"在远程机器上运行本地文件

powershell - 在 PowerShell 中从 C# 访问固定大小的数组元素

lua - 当我将 unpack() 作为 lua 的函数参数调用时会发生什么?

matlab - MATLAB ERROR Feval需要一个函数句柄作为第一个参数

mysql - Powershell将Mysql查询 "Select From"输出存储为字符串变量

powershell - mkdir 和 mkdir -p 之间的区别?