43 lines
1.3 KiB
PowerShell
43 lines
1.3 KiB
PowerShell
|
function Rename-TemporaryConfigFiles {
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Renames Temporary Configuration Files to remove the "new." prefix. For example, new.web.config is renamed to web.config
|
||
|
#>
|
||
|
|
||
|
[CmdletBinding()]
|
||
|
param(
|
||
|
[Parameter(Mandatory=$true)]
|
||
|
[string[]]$temporaryConfigFiles,
|
||
|
|
||
|
[Parameter(Mandatory=$false)]
|
||
|
[Alias("Force")]
|
||
|
[switch]$forceOverwrite
|
||
|
)
|
||
|
|
||
|
$logLead = (Get-LogLeadName);
|
||
|
|
||
|
foreach ($configfile in $temporaryConfigFiles) {
|
||
|
|
||
|
[Regex]$newMatchRegex = "\\new\."
|
||
|
$finalConfigFileName = $newMatchRegex.Replace($configFile, "\")
|
||
|
|
||
|
if (Test-Path $finalConfigFileName)
|
||
|
{
|
||
|
if ($forceOverwrite.IsPresent)
|
||
|
{
|
||
|
Write-Host ("$logLead : Config file '{0}' already exists and will be removed before rename." -f $finalConfigFileName)
|
||
|
Remove-Item "$finalConfigFileName" -Force
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
Write-Warning ("$logLead : Config file '{0}' already exists. No changes will be made. To overwrite the file, use the -Force parameter" -f $finalConfigFileName)
|
||
|
continue
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Write-Host ("$logLead : Renaming file '{0}' to '{1}'" -f $configFile, $finalConfigFileName)
|
||
|
Rename-Item "$configfile" "$finalConfigFileName" -Force:$forceOverwrite
|
||
|
}
|
||
|
}
|
||
|
|