mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2025-01-15 09:20:36 -06:00
Simplified and Improved the Exclude List Validation Step in 'Invoke-Preprocessing.ps1' Script Tool
This commit is contained in:
parent
558c634b70
commit
895a95ccf6
@ -75,22 +75,30 @@
|
|||||||
$count = $ExcludedFiles.Count
|
$count = $ExcludedFiles.Count
|
||||||
|
|
||||||
# Make sure there's a * at the end of folders in ExcludedFiles list
|
# Make sure there's a * at the end of folders in ExcludedFiles list
|
||||||
if ($count -gt 0) {
|
for ($i = 0; $i -lt $count; $i++) {
|
||||||
for ($i = 0; $i -lt $count; $i++) {
|
$excludedFile = $ExcludedFiles[$i]
|
||||||
$excludedFile = $ExcludedFiles[$i]
|
$isFolder = ($excludedFile) -match '\\$'
|
||||||
$isFolder = ($excludedFile) -match '\\$'
|
if ($isFolder) { $ExcludedFiles[$i] = $excludedFile + '*' }
|
||||||
if ($isFolder) { $ExcludedFiles[$i] = $excludedFile + '*' }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Validate the ExcludedFiles List before continuing on,
|
# Validate the ExcludedFiles List before continuing on,
|
||||||
# that's if there's a list in the first place, and '-SkipExcludedFilesValidation' was not provided.
|
# that's if there's a list in the first place, and '-SkipExcludedFilesValidation' was not provided.
|
||||||
if ((-NOT ($count -eq 0)) -AND (-NOT $SkipExcludedFilesValidation)) {
|
if (-not $SkipExcludedFilesValidation) {
|
||||||
for ($i = 0; $i -lt $count; $i++) {
|
for ($i = 0; $i -lt $count; $i++) {
|
||||||
$excludedFile = $ExcludedFiles[$i]
|
$excludedFile = $ExcludedFiles[$i]
|
||||||
$filePath = "$(($WorkingDir -replace ('\\$', '')) + '\' + ($excludedFile -replace ('\.\\', '')))"
|
$filePath = "$(($WorkingDir -replace ('\\$', '')) + '\' + ($excludedFile -replace ('\.\\', '')))"
|
||||||
if (-NOT (Get-ChildItem -Recurse -Path "$filePath" -File)) {
|
|
||||||
$failedFilesList += "'$filePath', "
|
# Handle paths with wildcards in a different implementation
|
||||||
|
$matches = ($filePath) -match '^.*?\*'
|
||||||
|
|
||||||
|
if ($matches) {
|
||||||
|
if (-NOT (Get-ChildItem -Recurse -Path "$filePath" -File)) {
|
||||||
|
$failedFilesList += "'$filePath', "
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (-NOT (Test-Path -Path "$filePath")) {
|
||||||
|
$failedFilesList += "'$filePath', "
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$failedFilesList = $failedFilesList -replace (',\s*$', '')
|
$failedFilesList = $failedFilesList -replace (',\s*$', '')
|
||||||
|
Loading…
Reference in New Issue
Block a user