我正在尝试使用 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"