DaveGoosem of RSL QLD
1/13/2017 - 12:26 AM

Quick Powershell script to copy files and keep folder structure with file type filtering

Quick Powershell script to copy files and keep folder structure with file type filtering


$SourceFolder = "D:\Downloads"
$DestinationFolder = "D:\test"
$IncludeFiles = ("*.jpeg","*.jpg")

Get-ChildItem $SourceFolder -Recurse -Include $IncludeFiles | Where-Object {$_.LastWriteTime -gt $ChangesStarted} | ForEach-Object {
    $PathArray = $_.FullName.Replace($SourceFolder,"").ToString().Split('\') 

    $Folder = $DestinationFolder

    for ($i=1; $i -lt $PathArray.length-1; $i++) {
        $Folder += "\" + $PathArray[$i]
        if (!(Test-Path $Folder)) {
            New-Item -ItemType directory -Path $Folder
        }
    }   
    $NewPath = Join-Path $DestinationFolder $_.FullName.Replace($SourceFolder,"")

    Copy-Item $_.FullName -Destination $NewPath  
}