Files

35 lines
1.0 KiB
PowerShell

param
(
[string]$sourceDir,
[string]$destinationDir
)
if (-not (Test-Path -Path $sourceDir))
{
Write-Host "Source directory $sourceDir doesn't exist."
exit
}
# Create destination if necessary
if (-not (Test-Path -Path $destinationDir))
{
New-Item -ItemType Directory -Force -Path $destinationDir
}
Write-Host "Copying Files from $sourceDir to $destinationDir"
# Copy all files from source folder to the destination folder
Get-ChildItem -Path $sourceDir -Recurse | ForEach-Object {
$relativePath = $_.FullName.Substring((Get-Item $sourceDir).FullName.Length).TrimStart('\')
$destPath = Join-Path $destinationDir $relativePath
if (-not (Test-Path -Path (Split-Path -Path $destPath -Parent)))
{
New-Item -ItemType Directory -Force -Path (Split-Path -Path $destPath -Parent)
}
try {
Copy-Item -Path $_.FullName -Destination $destPath -ErrorAction Stop
} catch {
Write-Warning "Konnte die Datei $_.FullName nicht kopieren: $_.Exception.Message"
}
}