Powershell 模块必须放置在单独的文件夹中吗?

Mar*_*son 4 powershell powershell-2.0

使用PowerShell 2.0

根据我在网上读到的内容,用户创建的 powershell 模块必须各自驻留在自己的目录中。例如,如果我创建一个名为的模块,MyModule.psm1它必须驻留在名为 的文件夹中MyModule,并驻留在$env:PSModulePath.

如果我的项目有很多模块,那么为每个模块创建一个单独的文件夹对我来说似乎很愚蠢。这真的有必要吗?为什么?有什么优雅的方法吗?

Mik*_*ard 6

如果您只想拥有 .psm1 文件,则可以通过提供文件本身的路径而不仅仅是模块名称来导入它。

例如:

import-module c:\mymodules\folder\themodule.psm1
Run Code Online (Sandbox Code Playgroud)

通过这种技术,您可以在同一个文件夹中拥有任意数量的模块。我不知道我是否会推荐这个,但它确实有效。