变量连接顺序错误

时间:2015-07-06 14:26:04

标签: string powershell filepath

我有以下内容:

function createFolder($folderName, $curPath)
{
    $dest = $curPath + $folderName
    write-host "Path is : " + $dest
    # code to mess around with files etc
}

当我运行它时,它给我以下输出:

Path is : + Test_Folder C:\Users\Me

+运算符是否存在我缺少的东西,或者这种函数的连接/连接方法是什么?在PowerShell中创建/连接/操作路径的正确方法是什么(我刚开始使用它来自动执行桌面上的一些清理任务)。

编辑:如果它有所不同,这就是我在运行版本命令时看到的内容:

PS C:\Users\Me> version
BladeLogic Network Shell 8.2.01.273 (Release) [May 12 2012 21:56:02]
Copyright (C) 1996-2012 BladeLogic Inc.

另外,我在没有管理权限的工作计算机上。

我试过了:

$currentPath = "C:\Users\n0223270\Downloads"
$test = "test"
createFolder($test, $currentPath)

function createFolder($folderName, $curPath)
{
    $dest = join-path -path $curPath -childpath $folderName
    Write-Host $dest   
}

这是以下错误:

Join-Path : Cannot bind argument to parameter 'Path' because it is null.
At line:4 char:28
+     $dest = join-path -path <<<<  $curPath -childpath $folderName
+ CategoryInfo          : InvalidData: (:) [Join-Path], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCommand

1 个答案:

答案 0 :(得分:4)

  

createFolder($test, $currentPath)

这不是您调用Powershell函数的方式。这是将第一个参数作为两个字符串的数组传递。第二个参数为null,因为它没有指定,也没有默认值。

尝试:

createFolder $test $currentPath