我有以下内容:
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
答案 0 :(得分:4)
createFolder($test, $currentPath)
这不是您调用Powershell函数的方式。这是将第一个参数作为两个字符串的数组传递。第二个参数为null,因为它没有指定,也没有默认值。
尝试:
createFolder $test $currentPath