Public/Backup-Customizations.ps1
function Backup-Customizations() { [CmdletBinding()] # This will backup all the customizations for the PSF world to make it easy to restore. # Depends on OneDrive and OneDrive Syncronization. $x = (get-item OneDrive:\PSFSync) $syncRoot = "$($x.FullName)" pushd $env:USERPROFILE if (-not (Test-Path OneDrive:\)) { Write-Host "Unable to backup in OneDrive. Not mapped or setup." -ForegroundColor Red return } if (-not (Test-Path $syncRoot)) { New-Item -Path $syncRoot -ItemType Directory | Out-Null } # Backup CMDER XML. Write-Host "Backing up ConEmu.xml..." $cmderProfile = Join-Path (Get-PsfConfig -Key ToolsPath) "cmder\vendor\conemu-maximus5\ConEmu.xml" Copy-Item -Path $cmderProfile -Destination $syncRoot -Force Write-Host "Backing up local profile... (Not localprofile.$($env:COMPUTERNAME).ps1)" Copy-Item -Path .\localprofile.ps1 -Destination $syncRoot -Force Write-Host "Backing up Code Modules Auto" $x = (get-item Scripts:\CoreModulesAuto) ROBOCOPY /E "$($x.FullName)" "$(Join-Path $syncRoot 'CoreModulesAuto')" | Out-Null Write-Host "Backing up Core Functions" $x = (get-item Scripts:\CoreFunctions) ROBOCOPY /E "$($x.FullName)" "$(Join-Path $syncRoot 'CoreFunctions')" | Out-Null #Copy-Item -Path Scripts:\CoreFunctions\*.* -Destination (Join-Path $syncRoot "CoreFunctions") -Recurse -Force #Copy-Item -Path Scripts:\CoreModulesAuto\*.* -Destination (Join-Path $syncRoot "CoreModulesAuto") -Recurse -Force Remove-Item -Path (Join-Path $syncRoot "CoreModulesAuto\AutoHotkey") -Recurse -Force | Out-Null Remove-Item -Path (Join-Path $syncRoot "CoreModulesAuto\PowerShellFrame") -Recurse -Force | Out-Null popd } |