PowerShell中使用Invoke-Item命令打开含空格目录报错求助
PowerShell中使用Invoke-Item命令打开含空格目录报错求助
嗨,这个问题我遇到过好几次啦!出现报错的核心原因很简单:PowerShell默认会把空格当成参数的分隔符,你输入的j:\DE SCANAT\Home被拆成了j:\DE和SCANAT\Home两个独立参数,而Invoke-Item只需要一个路径参数,系统自然就会提示找不到匹配的位置参数了。
先给你还原一下你遇到的错误信息:
Invoke-Item : A positional parameter cannot be found that accepts argument 'SCANAT'.
At line:1 char:1
- Invoke-Item j:\DE SCANAT\Home
- CategoryInfo : InvalidArgument: (:) [Invoke-Item], ParameterBindingException
- FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeItemCommand
下面给你几个实用的解决办法:
用双引号包裹完整路径:
把带空格的整个路径放在双引号里,明确告诉PowerShell这是一个完整的参数,不会拆分空格:Invoke-Item "j:\DE SCANAT\Home"用单引号包裹完整路径:
单引号的效果和双引号一致,适合路径里没有需要解析的变量时使用,写法更简洁:Invoke-Item 'j:\DE SCANAT\Home'用反引号转义空格:
在路径的每个空格前添加反引号(`),强制让PowerShell把空格当成路径的一部分,而不是参数分隔符:Invoke-Item j:\DE` SCANAT\Home
其中前两种方法是日常使用中最推荐的,不仅能解决这个问题,后续遇到其他带空格的命令参数也可以照搬这个思路哦~
备注:内容来源于stack exchange,提问作者Just Me
相关产品推荐
相关产品推荐

