- $dsArgs = @($disksToBackup, "--logfile:$dsLogPath", "$backupTargetDiff\`$disk.sna", "-h$backupTargetFull\`$disk.hsh") + $dsAdditionalArgs\r
- Write-Host $dsPath ($dsArgs -join " ")\r
- \r
- & $dsPath $dsArgs\r
- \r
- if($LastExitCode -ne 0) {\r
- Write-Host "Drive Snapshot failed to backup! Exit code: $LastExitCode"\r
- $errorMessages += "Drive Snapshot failed to backup! Exit code: $LastExitCode"\r
+ if(!(Test-Path $backupTargetDiff)) {\r
+ Write-Host "Creating directory $backupTargetDiff"\r
+ \r
+ try {\r
+ New-Item -ItemType directory -Path $backupTargetDiff -ErrorAction Stop\r
+ $doBackup = $True\r
+ }\r
+ catch {\r
+ Write-Host "Could not create directory $backupTargetDiff`: $_.Exception.Message"\r
+ $errorMessages += "Could not create directory $backupTargetDiff`: $_.Exception.Message"\r
+ }\r
+ \r
+ if($doBackup) {\r
+ $dsLogPath = if($dsLogFileToBackup) { "$backupTargetDiff\$dsLogFile" } else { $dsLogFile }\r
+ \r
+ $dsArgs = @($disksToBackup, "--logfile:$dsLogPath", "$backupTargetDiff\`$disk.sna", "-h$backupTargetFull\`$disk.hsh") + $dsAdditionalArgs\r
+ Write-Host $dsPath ($dsArgs -join " ")\r
+ \r
+ $dsCommand = "$dsPath $dsArgs"\r
+ \r
+ & $dsPath $dsArgs\r
+ \r
+ if($LastExitCode -ne 0) {\r
+ Write-Host "Drive Snapshot failed to backup! Exit code: $LastExitCode"\r
+ $errorMessages += "Drive Snapshot failed to backup! Exit code: $LastExitCode"\r
+ }\r
+ else {\r
+ $success = $True\r
+ }\r
+ }\r