Я очень новичок в Powershell и написал сценарий для Нашего процесса разработки, чтобы копировать файлы и папки, скажем, с Folder1
в Folder2
, но игнорировать некоторые файлы и папки.
Я не могу заставить работать скрипт ниже.
#Exclude list of files and folders to be copied
$excludeFiles = [System.Collections.ArrayList]('*.exe', '*.config', '*.targets', '*.rsp')
$excludeFolders = [System.Collections.ArrayList]('CustomConfiguration', 'abc')
function CopyFilesToFolder ($fromFolder, $toFolder, $ignoreExcludes) {
$foldersRegex = "($($($excludeFolders.ToArray()) -join "|"))";
$filesRegex = "($($($excludeFiles.ToArray()) -join "|"))";
Get-ChildItem -Path $fromFolder -Recurse |
Where-Object {($_ -ne $null) -and (($ignoreExcludes -eq $false -and $_.fullname -notmatch $foldersRegex) -or ($ignoreExcludes -eq $true)) } |
Where-Object { ($_ -ne $null) -and (($ignoreExcludes -eq $false -and $_.fullname -notmatch $filesRegex) -or ($ignoreExcludes -eq $true)) } |
Copy-Item -Force -Destination {
if ($_.GetType() -eq [System.IO.FileInfo]) {
Join-Path $toFolder $_.FullName.Substring($fromFolder.length)
}
else {
Join-Path $toFolder $_.Parent.FullName.Substring($fromFolder.length)
}
}
}
P.S: Также, как я могу комбинировать списки excludeFiles и excludeFolders ??
Спасибо.