作为示例,我有一个名为web-utils
的模块,假设我对其进行了一些更新,并且需要像“ module reload explained here”一样重新加载它。我已经创建了一个函数
function Module-Reload([string]$name) {
Remove-Module -Name $name -Force -Warningaction SilentlyContinue
Import-Module -Name $name -Force -Warningaction SilentlyContinue
}
当模块名称包含连字符时会引发错误,问题是:有没有一种方法可以在变量值中自动转义连字符?还是有另一种传递此类参数的方式?由于Import-Modules -Force web-utils
仅在CLI中手动键入时才能正常工作。通过函数执行此操作会导致以下结果:
Import-Module : The specified module 'web`-utils' was not loaded because no valid module file was found in any module directory. At WindowsPowerShell\Aliases.ps1:35 char:3 + Import-Module -Name $value -Force -Warningaction SilentlyContinue + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceUnavailable: (web`-utils:String) [Import-Module],FileNotFoundException + FullyQualifiedErrorId : Modules_ModuleNotFound,microsoft.PowerShell.Commands.ImportModuleCommand