if ((Get-ChildItem "I:\temp").Length -ne 0) {
$locations = (Get-Item "I:\temp"), (Get-ChildItem "I:\temp" -Directory -Recurse) | % {
Get-ChildItem -File $_.FullName |
Select-String -List -Pattern '^\d{3}-?\d{2}-?\d{4}$' |
% Path
}
if ($locations) {
$locations | Out-File "I:\temp\SSN_FILES.txt"
} else {
Get-ChildItem "I:\temp" -Exclude "fullpath.txt", "SSN_FILES.txt" | Remove-Item
}
}
$locations
が真であるかどうかを判断する必要があります。 trueの場合は最初の操作を実行し、falseの場合は2番目の操作を実行します。私が実行している問題は、$locations
が真である(一致する正規表現に等しい)かどうかを判断する方法が見つからないことです。変数が同等のステートメントを返すかどうかを判断する方法
'($箇所)であれば... 'テスト:
はこれを行います。おそらく '-match'演算子を見てみるべきです([' Get-Help about_Comparison_Operators'](https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.core/)。 about/about_comparison_operators))。 –
[関連](https://blogs.msdn.microsoft.com/powershell/2006/12/24/boolean-values-and-operators/)。 –