Public/Initialize-Module.ps1
function Initialize-Module { [cmdletbinding()] param ( [parameter(Position = 1, Mandatory = $false)] $initCfg = $script:Config, [parameter(Position = 2, Mandatory = $false)] [switch] $Reset ) try { #Create output folder $Path = $initCfg.Path If(!(Test-Path -Path $Path)) { New-Item -Path $Path -ItemType Directory | Out-Null } $ConfigFile = If($initCfg.ConfigFile) { $initCfg.ConfigFile } Else { "$($Path)\Config.json" } Write-Host " + Creating $($ConfigFile).. " -ForegroundColor Cyan -NoNewline if ((Test-Path $ConfigFile -ErrorAction SilentlyContinue) -and (!($Reset.IsPresent))) { Write-Warning "Already created - no need to run this again.." } else { $initCfgJSON = $initCfg | ConvertTo-Json -Depth 20 $initCfgJSON | Out-File $ConfigFile -Encoding ascii -Force $ConfigFile | Out-File $initCfg.UserConfigFile -Encoding ascii -Force Write-Host $script:tick -ForegroundColor Green } } catch { Write-Warning $_ } } |