diff --git a/Setup-Profile.ps1 b/Setup-Profile.ps1 index 36f388f..8ad5c92 100644 --- a/Setup-Profile.ps1 +++ b/Setup-Profile.ps1 @@ -169,7 +169,11 @@ Get-Command Reload-MyScripts -ErrorAction SilentlyContinue | ForEach-Object { . Invoke-ExpressionEx -sudo:$shouldSudo chmod 'a+r' $tmpOutput.FullName } try { - $local:errMsg = $(Invoke-ExpressionEx -sudo:$shouldSudo "Copy-Item $($tmpOutput.FullName) $p -Force:`$$Force -ErrorAction Stop | Out-Null; Remove-Item $($tmpOutput.FullName) -Force:`$$Force -ErrorAction Stop" 2>&1) + $local:errMsg = $(Invoke-ExpressionEx -sudo:$shouldSudo @" + if( -not (Test-Path $(Split-Path -Parent $p)) ) { New-Item -Type Directory $(Split-Path -Parent $p) -Force }; + Copy-Item $($tmpOutput.FullName) $p -Force:`$$Force -ErrorAction Stop | Out-Null; + Remove-Item $($tmpOutput.FullName) -Force:`$$Force -ErrorAction Stop +"@ 2>&1) if ( $errMsg ) { Write-Error "$errMsg" $status = $status -replace 'Need ', 'Failed '