即使在环境变量中定义了模块路径后,Powershell模块也未加载

Kir*_*699 5 powershell environment-variables powershell-3.0

我在我创建的文件夹中有一个模块,C:\ PowerShellScripts\Modules.我叫这个mod.psm1.该文件包含两个简单的函数:Write-hello和Write-bye.

现在,我已将此路径(C:\ PowerShellScripts\Modules)添加到我的PSModulePath环境变量路径中.

因此,这应该在我启动PowerShell时自动加载模块.正确?

但是当我运行PowerShell并尝试Write-hello或Write-bye时,它会出错

write-hello:术语'write-hello'不被识别为cmdlet,函数,脚本文件或可操作程序的名称

PSModulePath显示我的路径(C:\ PowerShellScripts \模块),即使$ ENV PowerShell不会加载该文件mod.psm1

我需要再次手动使用Import-Module.可能有什么不对?

Nit*_*esh 20

根据此处提供的文件:

"格式良好"的模块是存储在与模块目录中至少一个文件的基本名称相同的目录中的模块.如果模块格式不正确,则Windows PowerShell不会将其识别为模块.

文件的"基本名称"是没有文件扩展名的名称.在格式良好的模块中,包含模块文件的目录名称必须与模块中至少一个文件的基本名称匹配.

这就是当您创建一个名为mod(与文件相同的基本名称mod.psm1)并将模块放在其中的目录时,您可以访问您的cmdlet.


Kir*_*699 5

我想到了。我需要将 mod.psm1 文件添加到名为“mod”的文件夹中。现在,当我启动 PowerShell 时,我可以直接访问 cmdlet write-hello 或 write-bye。