如何在PowerShell中转义路径中的通配符(方括号)
PowerShell 5.1加载含方括号路径模块的解决方法
在PowerShell中,方括号[]属于通配符字符,Import-Module的默认-Path参数会解析通配符,直接用反引号转义容易出错,以下是几种可靠的解决方式:
方法1:使用-LiteralPath参数(推荐)
-LiteralPath会将路径视为字面量字符串,不解析任何通配符,完美适配含方括号的路径:
$ModulePath = "D:\[00] Test\BurntToast" Import-Module -LiteralPath $ModulePath -Force
方法2:正确转义方括号(适用于必须用-Path参数的场景)
如果一定要通过-Path参数导入,需要对每个方括号单独用反引号转义,注意字符串引号的区别:
- 单引号字符串(无需额外转义反引号):
$ModulePath = 'D:\`[00`] Test\BurntToast' Import-Module $ModulePath -Force
- 双引号字符串(反引号需要额外转义,即写两个反引号):
$ModulePath = "D:\``[00``] Test\BurntToast" Import-Module $ModulePath -Force
方法3:切换到目标目录后导入
先通过Set-Location的-LiteralPath参数切换到模块所在目录,再直接导入模块文件或当前目录:
# 切换到模块目录 Set-Location -LiteralPath "D:\[00] Test\BurntToast" # 导入模块(如果模块文件是BurntToast.psd1) Import-Module .\BurntToast.psd1 -Force # 或者直接导入当前目录(模块文件夹与psd1同名时可用) # Import-Module . -Force
内容的提问来源于stack exchange,提问作者Robert_wlt
相关产品推荐
相关产品推荐

