Convert Scripts to Module

I used to have all my common functions stored as separate scripts in a single folder. I’d load these through a few lines of code in my profile, looping through the script files and dot-sourcing them. Powershell v2.0 has a new feature called Modules. So how do you convert a bunch of scripts (containing functions) into a single module you can load or unload whenever you feel you might need those functions?

Here’s how:

# Convert function scripts to Module
 
#Variables
$myModuleName = "myModule123"
$inputFolder = 'D:\scripts\Functions'
$outputFolder = "$PSHOME\Modules\$myModuleName"
 
#Create the module directory
$null = New-Item $outputFolder -ItemType directory
 
#Create the module with a nice oneliner
Get-ChildItem $inputFolder -Filter "*.ps1" | Get-Content | Out-File "$outputFolder\$myModuleName.psm1" -Append
 
#Import the module
Import-Module $myModuleName
 
#Show functions loaded from the module
Get-Command -Module $myModuleName

»crosslinked«

One thought on “Convert Scripts to Module”

Leave a Reply