连接路径和文件

时间:2016-09-11 12:29:25

标签: function powershell variables

我是PowerShell的新手,对于我在编写新功能等方面取得的成绩感到非常高兴,但这个让我感到难过,这么简单......

以下是功能:

Function fnConcatenatePathFile ([String]$Path, [String]$File)
{
   $FullPath = "$($Path)\$($File)"
   Return $FullPath
}

然后我调用这个函数:

fnConcatenatePathFile ("C:\_Store", "run.sql")

我希望结果是:

"C:\_Store\run.sql"

但我得到了:

"C:\_Store run.sql\"

让我疯狂......任何线索?

2 个答案:

答案 0 :(得分:6)

Frode F.已经showed you你做错了什么。但是,有一个Join-Path cmdlet可以组合路径:

Join-Path "C:\_Store" "run.sql"

<强>输出:

C:\_Store\run.sql

答案 1 :(得分:3)

您使用错误的语法来调用函数。在Powershell中,您可以用空格分隔参数,也不需要使用()

,是数组运算符,因此"C:\_Store", "run.sql"实际上将两个字符串的数组传递给$Path,因为您正在使用变量(包含数组)字符串,字符串用空格连接在一起。 $File为空,这就是\之后没有任何内容的原因。

尝试:

fnConcatenatePathFile "C:\_Store" "run.sql"

或使其更清晰:

fnConcatenatePathFile -Path "C:\_Store" -File "run.sql"