$path = $PSScriptRoot Write-Host "Capturing files begin" $rootCaptureFolder = Join-Path -Path $path -ChildPath "root" if (-not (Test-Path -Path $rootCaptureFolder)) { Write-Host "Could not find [$rootCaptureFolder]" return } $captureListFile = Join-Path -Path $path -ChildPath "capture.filelist" $fileList = Get-Content -Path $captureListFile foreach ($file in $fileList) { if ([string]::IsNullOrWhiteSpace($file)) { continue } $files = @() if ($file.IndexOf('/*') -gt -1) { $files += Get-ChildItem -Path $file -Recurse -Attributes Hidden,System,Normal } else { $files += Get-ChildItem -Path $file -Attributes Hidden,System,Normal } foreach ($file in $files) { Write-Host "Found $($file.FullName)" $targetCopy = Join-Path $rootCaptureFolder -ChildPath $file.FullName $targetParent = Split-Path -Path $targetCopy -Parent if (-not (Test-Path -Path $targetParent)) { New-Item -ItemType Directory -Path $targetParent -Force | Out-Null } Write-Host "Copy-Item -Path '$($file.FullName)' -Destination '$($targetParent)'" Copy-Item -Path $file.FullName -Destination $targetParent } } chown go:go ./* -R