PowerShell切换含特殊字符路径的文件夹报错求助
解决PowerShell中切换含特殊字符路径的报错问题
我太懂这个坑了!你遇到的问题是因为路径里的空格、连字符(-)和逗号都是PowerShell里的特殊字符,它会把空格后面的-当成一个单独的命令参数,而cd(也就是Set-Location命令)根本不认这个参数,所以才会报“找不到接受参数'-'的位置参数”的错误。
给你几个简单好用的解决办法:
用引号包裹完整路径(最推荐):
把整个路径用双引号或者单引号包起来,PowerShell就会把引号里的内容当成完整的字符串,不会拆分参数。执行下面的命令就行:cd "C:\Users\anmolparida\OneDrive - xxxxx, zzz\Work\Dockers\"或者用单引号也可以:
cd 'C:\Users\anmolparida\OneDrive - xxxxx, zzz\Work\Dockers\'用反引号转义特殊字符:
在每个特殊字符(空格、-、逗号)前面加反引号`(键盘左上角和波浪号~同键的那个符号),不过这个方法比较繁琐,适合临时应急:cd C:\Users\anmolparida\OneDrive` -` xxxxx`, zzz\Work\Dockers\Tab自动补全(最省事的日常操作):
其实PowerShell自带路径自动补全功能,你输入到cd C:\Users\anmolparida\One之后按Tab键,它会自动帮你补全带引号的完整路径,完全不用手动输入特殊字符,还能避免输错路径,我平时切换复杂路径全靠这个!
内容的提问来源于stack exchange,提问作者Anmol Parida




