无法通过 cd 进入文件夹

无法通过 cd 进入文件夹

我尝试将 CD 放入一个文件夹,但一直收到以下错误消息。

PS A:\> cd "A:\Test\[Folder]\Folder1"
cd : Cannot find path 'A:\Test\[Folder]\Folder1' because it does not exist.
At line:1 char:1
+ cd "A:\Test\[Folder]\Folder1"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (A:\Test\[Folder]\Folder1:String) [Set-Location], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand

PS A:\> Set-Location "A:\Test\[Folder]\Folder1"
Set-Location : Cannot find path 'A:\Test\[Folder]\Folder1' because it does not exist.
At line:1 char:1
+ Set-Location "A:\Test\[Folder]\Folder1"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (A:\Test\[Folder]\Folder1:String) [Set-Location], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
 

此位置确实存在,我可以浏览到它而不会出现任何错误。如果它有 [],我无法将 CD 放入任何文件夹

答案1

大多数 PowerShell cmdlet 通过名为 的默认参数接收通配符模式-Path。这同样适用于Set-Location这是cd别名所映射的内容。由于[]是通配符模式,因此它不会更改为所需的文件夹。您需要使用-LiteralPath将路径视为文字字符串

  • -LiteralPath

    指定位置的路径。LiteralPath 参数的值按键入的方式使用。没有字符被解释为通配符。如果路径包含转义符,请将其括在单引号中。单引号告诉 PowerShell 不要将任何字符解释为转义序列。

Set-Location

转义通配符也可以,但不太方便。因此只需使用

cd -LiteralPath "A:\Test\[Folder]\Folder1"

事实上-LiteralPath也可以用于其他 cmdlet

答案2

我尝试了下面的代码片段并且它有效。

cd 'A:\Test\`[Folder`]\Folder1'

答案3

而不是做

cd [Folder]

cd ``[Folder``]

相关内容