Copies a set of files recursively and recreates subfolders and files in another location.
# Copy XML files from subfolders to another drive and create subfolders.
$SourcePath = 'G:\Prod\'
$TargetPath = 'E:\SQLScripts\'
$FileFilter = '*.xml'
Get-ChildItem $SourcePath -filter $FileFilter -recurse |
ForEach-Object {
$targetFile = $TargetPath + $_.FullName.SubString($SourcePath.Length);
$DestFolder = Split-Path $targetFile
if (-not (Test-Path $DestFolder)) {
New-Item -ItemType Directory -Path $DestFolder #-WhatIf
}
Copy-Item $_.FullName -destination $targetFile #-WhatIf
}
