בניתי סקריפט של גיבוי קבצים (מבקש ומתחנן אנא אל תציעו לי תוכנות גיבוי זה לא מה שאני מחפש...)
הקוד כדלהלן
$folder1 = "X:\Test\"
$folder2 = "X:\MyBackup\Test\"
$folder1Items = Get-ChildItem $folder1 -Recurse | Get-FileHash -Algorithm MD5
$folder2Items = Get-ChildItem $folder2 -Recurse | Get-FileHash -Algorithm MD5
$changes = Compare-Object $folder1Items $folder2Items -Property Name, Path -IncludeEqual
$updated = $changes | Where-Object {$_.SideIndicator -eq "<="}
Copy-Item $updated.Path $folder2 -Recurse -Force
הקוד עובד מעולה אבל אני רוצה לשמור על נתיבים יחסיים.
זה צילום של קובץ המקור "X:\Test\"

וזה תיקיית המשנה uri

וזה תיקיית היעד "X:\MyBackup\Test\"
הקוד העתיק לי ולא יצר לי תיקייה בשם uri והעתיק לשם את 2 הקבצים.

איך אני יכול להעתיק ולשמור על נתיב יחסי.

).