是的,您可以将一堆.ps1
文件转换为模块。在模块目录$env:USERPROFILE\Documents\WindowsPowerShell\Modules
中创建一个新文件夹,并将所有.ps1
文件放在该文件夹中。同时文件夹中创建两个文本文件<foldername>.psm1
和<foldername>.psd1
,让你有这样的结构:
$env:USERPROFILE
`-Documents
`-WindowsPowerShell
`-Modules
`-MyModule +-MyModule.psd1 +-MyModule.psm1 +-script1.ps1 +-script2.ps1 : `-scriptN.ps1
放入.psm1
文件以下行,所以它“进口”的所有.ps1
文件:
Get-ChildItem -Path "$PSScriptRoot\*.ps1" | % { . $_.FullName }
,并指定在module manifest(该.psd1
文件)元数据,例如:
@{
ModuleToProcess = 'MyModule.psm1'
ModuleVersion = '1.0'
GUID = '6bc2ac1e-2e88-4bc3-ac84-ecd16739b6aa'
Author = 'Matthew Lowe'
CompanyName = '...'
Copyright = '...'
Description = 'Description of your module.'
PowerShellVersion = '2.0'
FunctionsToExport = '*'
CmdletsToExport = ''
VariablesToExport = ''
AliasesToExport = ''
}
GUID可以通过例如[guid]::NewGuid()
生成。
什么是“powershell项目”?你的意思是一些特定的文件类型或只是一个你一直在处理的抽象项目? –
抽象的项目。在这种情况下,PowerShell项目=一组函数。 –