Por que o Set-Location diz “Não é possível encontrar um parâmetro posicional que aceite o argumento '…'”

2

Estou tentando alterar meu diretório de trabalho usando o set-location. Isso é o que eu fiz até agora:

Set-Location H:- DISTRIBUTION\engineer\drft-tmp0-DOUGLASkV BLDG Design DWGs

Aqui está o erro:

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

Eu ainda sou um noob. Como devo abordar este problema?

    
por DATAfiend 17.03.2016 / 15:41

2 respostas

0

Digamos que você tenha um aplicativo chamado TestParam , que recebe qualquer número de parâmetros e os repete em novas linhas:

>TestParam thisisatest
thisisatest

Quando há espaços, considera-os um separador entre os parâmetros:

>TestParam this is a test
this
is
a
test

É o mesmo que digitar Test "This" "is" "a" "test" e você está basicamente passando quatro strings diferentes. Se você quiser passar um único parâmetro que tenha espaços:

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

Quando você olha para o erro, ele está dizendo que não pode encontrar um parâmetro para "DISTRIBUTION \ engineer \ drft-tm \ 60kV", que é o segundo parâmetro que seu comando está passando para ele, porque você tem espaços. Se o seu caminho tiver espaços, tudo bem, mas você precisa informar ao PowerShell que é tudo um único parâmetro e tudo apenas uma string:

Set-Location "H:- DISTRIBUTION\engineer\drft-tmp0-DOUGLASkV BLDG Design DWGs"
    
por 17.03.2016 / 16:47
2

Coloque o caminho da pasta entre aspas duplas para que ele seja:

Set-Location "H:- DISTRIBUTION\engineer\drft-tmp0-DOUGLASkV BLDG Design DWGs"
    
por 17.03.2016 / 15:50

Tags