Add central function for creating backup
This commit is contained in:
parent
a0bb4320d0
commit
f6d0f9d594
4 changed files with 20 additions and 35 deletions
|
@ -15,4 +15,21 @@ class Context {
|
||||||
[string] SoftwareArchive([string]$softwareName) {
|
[string] SoftwareArchive([string]$softwareName) {
|
||||||
return $this.ArchivePath($softwareName);
|
return $this.ArchivePath($softwareName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[void] Backup([string]$sourcePath, [string]$archivePath, [string[]]$arguments) {
|
||||||
|
if (Test-Path $archivePath) {
|
||||||
|
Remove-Item -Recurse $archivePath;
|
||||||
|
}
|
||||||
|
|
||||||
|
Start-Process -WorkingDirectory "$sourcePath" `
|
||||||
|
-FilePath "7z" `
|
||||||
|
-ArgumentList (
|
||||||
|
@(
|
||||||
|
"a",
|
||||||
|
"-xr!desktop.ini",
|
||||||
|
"-xr!{t,T}humbs.db",
|
||||||
|
$archivePath) + $arguments) `
|
||||||
|
-Wait `
|
||||||
|
-NoNewWindow;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,22 +13,6 @@ function Get-BackupCandidates() {
|
||||||
|
|
||||||
function Invoke-FileBackup([Context] $context) {
|
function Invoke-FileBackup([Context] $context) {
|
||||||
foreach ($candidate in Get-BackupCandidates) {
|
foreach ($candidate in Get-BackupCandidates) {
|
||||||
$archiveName = $context.FileArchivePath($candidate[0]);
|
$context.Backup($candidate[1], $context.FileArchivePath($candidate[0]), $candidate[2]);
|
||||||
|
|
||||||
if (Test-Path $archiveName) {
|
|
||||||
Remove-Item -Recurse $archiveName;
|
|
||||||
}
|
|
||||||
|
|
||||||
Start-Process -WorkingDirectory $candidate[1] `
|
|
||||||
-ArgumentList (
|
|
||||||
@(
|
|
||||||
"a",
|
|
||||||
"-xr!desktop.ini",
|
|
||||||
"-xr!{t,T}humbs.db") +
|
|
||||||
$candidate[2] +
|
|
||||||
@($archiveName)) `
|
|
||||||
-FilePath "7z" `
|
|
||||||
-NoNewWindow `
|
|
||||||
-Wait;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,13 +3,5 @@ $path = "$HOME/Documents/TmForever";
|
||||||
$softwareName = "TmNationsForever";
|
$softwareName = "TmNationsForever";
|
||||||
|
|
||||||
function Invoke-BackupTmNations([Context] $context) {
|
function Invoke-BackupTmNations([Context] $context) {
|
||||||
Write-Host "$PSScriptRoot";
|
$context.Backup($path, $context.SoftwareArchive($softwareName), @("-i@`"$PSScriptRoot/include.txt`""));
|
||||||
Start-Process -WorkingDirectory "$path" `
|
|
||||||
-FilePath "7z" `
|
|
||||||
-ArgumentList @(
|
|
||||||
"a",
|
|
||||||
"-i@`"$PSScriptRoot/include.txt`"",
|
|
||||||
$context.SoftwareArchive($softwareName)) `
|
|
||||||
-Wait `
|
|
||||||
-NoNewWindow;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,13 +3,5 @@ $path = "$HOME/Documents/TrackMania";
|
||||||
$softwareName = "TmUnitedForever";
|
$softwareName = "TmUnitedForever";
|
||||||
|
|
||||||
function Invoke-BackupTmNations([Context] $context) {
|
function Invoke-BackupTmNations([Context] $context) {
|
||||||
Write-Host "$PSScriptRoot";
|
$context.Backup($path, $context.SoftwareArchive($softwareName), @("-i@`"$PSScriptRoot/include.txt`""));
|
||||||
Start-Process -WorkingDirectory "$path" `
|
|
||||||
-FilePath "7z" `
|
|
||||||
-ArgumentList @(
|
|
||||||
"a",
|
|
||||||
"-i@`"$PSScriptRoot/include.txt`"",
|
|
||||||
$context.SoftwareArchive($softwareName)) `
|
|
||||||
-Wait `
|
|
||||||
-NoNewWindow;
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue