mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-12-22 22:11:30 -06:00
1891ea7966
* Remove All Trailing Whitespace Characters in '.ps1' Files * Remove All Trailing Whitespace Characters in '.json' Files * Remove All Trailing Whitespace Characters in '.yaml' Files * Remove All Trailing Whitespace Characters in Different Files * Remove Even More Trailing Whitespace Characters
48 lines
1.7 KiB
PowerShell
48 lines
1.7 KiB
PowerShell
function Copy-Files {
|
|
<#
|
|
|
|
.DESCRIPTION
|
|
This function will make all modifications to the registry
|
|
|
|
.EXAMPLE
|
|
|
|
Set-WinUtilRegistry -Name "PublishUserActivities" -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" -Type "DWord" -Value "0"
|
|
|
|
#>
|
|
param (
|
|
[string] $Path,
|
|
[string] $Destination,
|
|
[switch] $Recurse = $false,
|
|
[switch] $Force = $false
|
|
)
|
|
|
|
try {
|
|
|
|
$files = Get-ChildItem -Path $path -Recurse:$recurse
|
|
Write-Host "Copy $($files.Count)(s) from $path to $destination"
|
|
|
|
foreach($file in $files)
|
|
{
|
|
$status = "Copy files {0} on {1}: {2}" -f $counter, $files.Count, $file.Name
|
|
Write-Progress -Activity "Copy Windows files" -Status $status -PercentComplete ($counter++/$files.count*100)
|
|
$restpath = $file.FullName -Replace $path, ''
|
|
|
|
if($file.PSIsContainer -eq $true)
|
|
{
|
|
Write-Debug "Creating $($destination + $restpath)"
|
|
New-Item ($destination+$restpath) -Force:$force -Type Directory -ErrorAction SilentlyContinue
|
|
}
|
|
else
|
|
{
|
|
Write-Debug "Copy from $($file.FullName) to $($destination+$restpath)"
|
|
Copy-Item $file.FullName ($destination+$restpath) -ErrorAction SilentlyContinue -Force:$force
|
|
Set-ItemProperty -Path ($destination+$restpath) -Name IsReadOnly -Value $false
|
|
}
|
|
}
|
|
Write-Progress -Activity "Copy Windows files" -Status "Ready" -Completed
|
|
}
|
|
Catch{
|
|
Write-Warning "Unable to Copy all the files due to unhandled exception"
|
|
Write-Warning $psitem.Exception.StackTrace
|
|
}
|
|
} |