3
Linuxの場合、Bashは、a
,b
、およびc
以外の1文字に対して[!abc]
のようなnegation syntax in glob patternをサポートしています。PowerShellはグロブパターンで否定構文をサポートしていますか?
私はPowerShellで似たようなものを見つけようとしています。
Supporting Wildcard Characters in Cmdlet Parametersには、否定に関する記述はありません。また、test.txt
が存在すると、!
がBashのような否定構文としてサポートされていないことを示す以下のことを確認しました。
ls tes[!s].txt
は何も返しません。ls tes[!t].txt
戻りtest.txt
グロブパターンでPowerShellのサポート否定構文をしていますか?そうでない場合は、いくつかの選択肢を共有できますか?
'は、Get-ChildItemコマンドレット '?TESを.TXT' | Where-Object {$ _。Name -notlike 'tes [qrs] .txt'} 'は別のオプションです。 –
同意。できるだけ左側にフィルターを設置してください。 –
AnsgarとBillが言っていることをもう少し説明するために、Get-ChildItemフィルタを設定することにより、結果をフィルタリングしてからPowerShellに送信するようにプロバイダに指示します。プロバイダーはフィルタリングの結果を含め、その仕事で非常に効率的です(結局のところ、仕事が1つしかありません)ので、PowerShellよりもはるかに高速です。可能であれば、プロバイダレベルで常にフィルタリングしてください。 – TheMadTechnician