Próbuję zmienić katalog roboczy za pomocą set-location. Oto co zrobiłem do tej pory:
Set-Location H:\09- DISTRIBUTION\engineer\drft-tmp\310-DOUGLAS\60kV BLDG Design DWGs
Oto błąd:
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
Nadal jestem noobem. Jak mam podejść do tego problemu?
powershell
DATAfiend
źródło
źródło
Odpowiedzi:
Załóżmy, że masz aplikację o nazwie,
TestParam
która pobiera dowolną liczbę parametrów i powtarza je w nowej linii:Kiedy są spacje, uważa je za separator między parametrami:
Jest to to samo, co pisanie
Test "This" "is" "a" "test"
i zasadniczo przekazujesz cztery różne ciągi. Jeśli chcesz przekazać pojedynczy parametr zawierający spacje:Kiedy patrzysz na błąd, mówi, że nie może znaleźć parametru dla „DYSTRYBUCJA \ inżynier \ drft-tm \ 60kV”, który jest drugim parametrem przekazywanym do niego przez polecenie, ponieważ masz spacje. Jeśli twoja ścieżka zawiera spacje, to dobrze, ale musisz powiedzieć PowerShellowi, że jest to pojedynczy parametr i tylko jeden ciąg:
źródło
Otocz ścieżkę folderu podwójnymi cudzysłowami, aby brzmiała:
źródło