为什么 Set-Location 说“找不到接受参数‘...’的位置参数”

为什么 Set-Location 说“找不到接受参数‘...’的位置参数”

我正在尝试使用 set-location 更改我的工作目录。这是我目前所做的:

Set-Location H:\09- DISTRIBUTION\engineer\drft-tmp\310-DOUGLAS\60kV BLDG Design DWGs

错误如下:

Set-Location : A positional parameter cannot be found that accepts argument 'DISTRIBUTION\engineer\drft-tm
\60kV'.
At line:1 char:13
+ Set-Location <<<<  \09- DISTRIBUTION\engineer\drft-tmp\310-DOUGLAS\60kV BLDG Design DWGs
    + CategoryInfo          : InvalidArgument: (:) [Set-Location], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand

我还是菜鸟。我该如何解决这个问题?

答案1

假设您有一个名为的应用程序TestParam,它接受任意数量的参数并在换行符上回显它们:

>TestParam thisisatest
thisisatest

当有空格时,它会将它们视为参数之间的分隔符:

>TestParam this is a test
this
is
a
test

这与输入相同Test "This" "is" "a" "test",本质上传递的是四个不同的字符串。如果您想传递一个包含空格的参数:

>TestParam "This is a test"
This is a test

当您查看错误时,它说找不到“DISTRIBUTION\engineer\drft-tm\60kV”的参数,这是您的命令传递给它的第二个参数,因为您有空格。如果您的路径有空格,那没问题,但您需要告诉 PowerShell 它只是一个参数,而且只是一个字符串:

Set-Location "H:\09- DISTRIBUTION\engineer\drft-tmp\310-DOUGLAS\60kV BLDG Design DWGs"

答案2

用双引号将文件夹路径括起来,如下所示:

Set-Location "H:\09- DISTRIBUTION\engineer\drft-tmp\310-DOUGLAS\60kV BLDG Design DWGs"

相关内容