24 lines
		
	
	
		
			754 B
		
	
	
	
		
			PowerShell
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			754 B
		
	
	
	
		
			PowerShell
		
	
	
	
function Copy-Recurse {
 | 
						|
    param(
 | 
						|
        [string]$Path,
 | 
						|
        [string]$Destination,
 | 
						|
        [string]$Filter
 | 
						|
    )
 | 
						|
 | 
						|
    New-Item -ItemType Directory -Force -Path $Destination | Out-Null
 | 
						|
 | 
						|
    Get-ChildItem -Recurse -Path $Path -Filter $Filter | ForEach-Object {
 | 
						|
        $relativePath = $_.FullName.Replace((Resolve-Path $Path).Path, "")
 | 
						|
        $targetFile = Join-Path -Path $Destination -ChildPath $relativePath
 | 
						|
 | 
						|
        $targetFileDirectory = Split-Path -Path $targetFile -Parent
 | 
						|
        
 | 
						|
        if (!(Test-Path $targetFileDirectory))
 | 
						|
        {
 | 
						|
            New-Item -ItemType Directory -Force -Path $targetFileDirectory | Out-Null
 | 
						|
        }
 | 
						|
        
 | 
						|
        Copy-Item -Path $_.FullName -Destination $targetFile -Force
 | 
						|
    }
 | 
						|
}
 |