我是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\"
让我疯狂......任何线索?
答案 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"