Arrays de>2作为一个单元素数组。对于通配符,需要使用-like或-notlike。由于-match和-notmatch使用正则表达式,*是一个特殊字符。在正则表达式中,-match'sales banked'将匹配与相同的结果,如“*sales banked*
Arrays de>2作为一个单元素数组。对于通配符,需要使用-like或-notlike。由于-match和-notmatch使用正则表达式,*是一个特殊字符。在正则表达式中,-match'sales banked'将匹配与相同的结果,如“*sales banked*,arrays,powershell,wildcard,Arrays,Powershell,Wildcard,de>2作为一个单元素数组。对于通配符,需要使用-like或-notlike。由于-match和-notmatch使用正则表达式,*是一个特殊字符。在正则表达式中,-match'sales banked'将匹配与相同的结果,如“*sales banked*”顺便说一句,您不需要使用@()来生成数组。 $NonAutoStructure = @("Not_Found", "UK Training Centre", "IRISH Training Centre", "Head Office"
de>2作为一个单元素数组。对于通配符,需要使用
-like
或-notlike
。由于-match
和-notmatch
使用正则表达式,*
是一个特殊字符。在正则表达式中,-match'sales banked'
将匹配与相同的结果,如“*sales banked*”
顺便说一句,您不需要使用@()
来生成数组。
$NonAutoStructure = @("Not_Found", "UK Training Centre", "IRISH Training Centre", "Head Office", "UK Newmedica")
$AutoJournalDescriptions = @("STORE TRANFrom *", "*SALES BANKED*")#, "*/* CREDIT" , "BANKING DIFF*BQ*" , "*/* MASTERCARD/VISA")
$InactiveStores = @("4410", "0996", "1015", "5996")
$NonAutoJournalCompanies = {$_.Description -notcontains $AutoJournalDescriptions}
$AutoJournalCompanies = {$_.Description -contains $AutoJournalDescriptions}
#$NonAutoJournalCompanies = {$_.structure -in $NonAutoStructure -or $_.Company -in $InactiveStores -and $_.Amount -ne "0.00"}
#$AutoJournalCompanies = {$_.structure -notin $NonAutoStructure-and $_.Company -notin $InactiveStores -and $_.Amount -ne "0.00"}
$UNREC_S0 | Where-Object $NonAutoJournalCompanies | Export-Csv \\774512-LRBSPT01\*****$\uardata\rt1\BankRec\Test\step1\TestNonAutoJournal.txt -notype
$UNREC_S0 | Where-Object $AutoJournalCompanies | Export-Csv \\774512-LRBSPT01\*****$\uardata\rt1\BankRec\Test\step1\TestAutoJournal.txt -notype
$UNREC_S0 | Where-Object $ZeroValuelines | Export-Csv \\774512-LRBSPT01\*****$\uardata\rt1\BankRec\Test\step1\TestZeroLines.txt -notype
# Sample input
$UNREC_S0 = [pscustomobject] @{ Description = 'A SALES BANKED baz' },
[pscustomobject] @{ Description = 'bar' },
[pscustomobject] @{ Description = 'STORE TRANFrom foo' },
[pscustomobject] @{ Description = 'unrelated' }
# The filtering criteria: *regexes* to match against the descriptions,
# combined into a single regex with the alternation operator, '|'
$AutoJournalDescriptions = '^STORE TRANFrom ', 'SALES BANKED' -join '|'
# Construct script blocks to use with `Where-Object` below.
$NonAutoJournalCompanies = { $_.Description -notmatch $AutoJournalDescriptions }
$AutoJournalCompanies = { $_.Description -match $AutoJournalDescriptions}
$UNREC_S0 | Where-Object $NonAutoJournalCompanies | Export-Csv \\774512-LRBSPT01\*****$\uardata\rt1\BankRec\Test\step1\TestNonAutoJournal.txt -notype
# ...
"Description"
"bar"
"unrelated"
# Sample input
$descriptions = 'A SALES BANKED baz', 'bar', 'STORE TRANFrom foo', 'unrelated'
# The filtering criteria: wildcard patterns to match against the descriptions.
$descriptionWildcards = 'STORE TRANFrom *', '*SALES BANKED*'
foreach ($descr in $descriptions) {
foreach ($wildcard in $descriptionWildcards) {
if ($descr -like $wildcard) { $descr; break }
}
}
# Sample input
$descriptions = 'A SALES BANKED baz', 'bar', 'STORE TRANFrom foo', 'unrelated'
# The filtering criteria: wildcard patterns to match against the descriptions.
$descriptionWildcards = 'STORE TRANFrom *', '*SALES BANKED*'
# Loop over the criteria and match the descriptions against each.
# `foreach` is the built-in alias for the `ForEach-Object` cmdlet.
# The output order will be reflect the order of the wildcard patterns.
$descriptionWildcards | foreach { $descriptions -like $_ }