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
 | |
|     }
 | |
| }
 |