Следующий скрипт копирует файлы из одного места в другое, в действительности будет много файлов для копирования.Как лучше всего показать ход выполнения команды копирования во время ее выполнения?то есть, если он все еще работает, он потерпел неудачу или завершился.
$from = "C:\Sites\T"
$to = "C:\Customer\"
$exclude = @("Aeromark")
$excludeMatch = @("Aeromark")
$StartDate = (Get-Date).AddYears(-2)
$EndDate = Get-Date
[regex]$excludeMatchRegEx = ‘(?i)‘ + (($excludeMatch | foreach {[regex]::Escape($_)}) –join “|”) + ‘’
Get-ChildItem -Path $from -Recurse -Exclude $exclude | where {
$excludeMatch -eq $null -or
$_.FullName.Replace($from, "") -notmatch $excludeMatchRegEx -and
($_.CreationTime.Date -ge $StartDate.Date) -and
($_.CreationTime.Date -le $EndDate.Date)
} | Copy-Item -Destination {
if ($_.PSIsContainer) {
Join-Path $to $_.Parent.FullName.Substring($from.Length)
} else {
Join-Path $to $_.FullName.Substring($from.Length)
}
} -Force -Exclude $exclude -Verbose *> c:\temp\log_sites_customer_excluding_aeromark_copy.txt