File tree Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change 1+ $commandsPath = Join-Path $PSScriptRoot Commands
2+ :ToIncludeFiles foreach ($file in (Get-ChildItem - Path " $commandsPath " - Filter " *-*" - Recurse)) {
3+ if ($file.Extension -ne ' .ps1' ) { continue } # Skip if the extension is not .ps1
4+ foreach ($exclusion in ' \.[^\.]+\.ps1$' ) {
5+ if (-not $exclusion ) { continue }
6+ if ($file.Name -match $exclusion ) {
7+ continue ToIncludeFiles # Skip excluded files
8+ }
9+ }
10+ . $file.FullName
11+ }
12+
13+ $myModule = $MyInvocation.MyCommand.ScriptBlock.Module
14+ $ExecutionContext.SessionState.PSVariable.Set ($myModule.Name , $myModule )
15+ $myModule.pstypenames.insert (0 , $myModule.Name )
16+
17+ New-PSDrive - Name $MyModule.Name - PSProvider FileSystem - Scope Global - Root $PSScriptRoot - ErrorAction Ignore
18+
19+ if ($home ) {
20+ $MyModuleProfileDirectory = Join-Path ([Environment ]::GetFolderPath(" LocalApplicationData" )) $MyModule.Name
21+ if (-not (Test-Path $MyModuleProfileDirectory )) {
22+ $null = New-Item - ItemType Directory - Path $MyModuleProfileDirectory - Force
23+ }
24+ New-PSDrive - Name " My$ ( $MyModule.Name ) " - PSProvider FileSystem - Scope Global - Root $MyModuleProfileDirectory - ErrorAction Ignore
25+ }
26+
27+ # Set a script variable of this, set to the module
28+ # (so all scripts in this scope default to the correct `$this`)
29+ $script :this = $myModule
30+
31+ # region Custom
32+ # endregion Custom
33+
34+ Export-ModuleMember - Alias * - Function * - Variable $myModule.Name
35+
36+
You can’t perform that action at this time.
0 commit comments