diff --git a/scripts/Windows/Scripts/Context.ps1 b/scripts/Windows/Scripts/Context.ps1 index 3d51e6e9..ab1e89ad 100644 --- a/scripts/Windows/Scripts/Context.ps1 +++ b/scripts/Windows/Scripts/Context.ps1 @@ -104,15 +104,25 @@ class Context { } [void] Restore([string]$archivePath, [string]$destinationPath) { - if (-not (Test-Path -PathType Container $destinationPath)) { - New-Item -ItemType Directory "$destinationPath"; + if (-not (Test-Path -PathType Leaf $archivePath)) { + Write-Information ( + [string]::Join( + "`n", + @( + "An archive at the specified path $archivePath does not exist.", + "No restoration will be performed."))); } + else { + if (-not (Test-Path -PathType Container $destinationPath)) { + New-Item -ItemType Directory "$destinationPath"; + } - Start-Process -WorkingDirectory "$destinationPath" ` - -FilePath "7z" - -ArgumentList "x" ` - -Wait ` - -NoNewWindow; + Start-Process -WorkingDirectory "$destinationPath" ` + -FilePath "7z" + -ArgumentList "x" ` + -Wait ` + -NoNewWindow; + } } [string] GetTempDirectory() {