私はここでちょっと立ち往生しています。基本的に私は、テキストファイルからディレクトリとファイルパスを読み込むスクリプトを持っています。Get-Contentでテキストファイルからフィルタリングされたコンテンツを取得する
は私がドライブ文字とがprogram files
ようパスとC:\Windows
ディレクトリを除外することによって、それらをフィルタリングします。各ドライブレターの変数があります。しかし、私が以下のコードを使用すると、何もフィルタリングしていないようです。 にが含まれていれば、その中にC
E
またはG
があるかどうかは関係ありません。常にの内容をすべての変数にSaveMe.txt
というファイルに入れます。
アドバイスはありますか?
$CDrive = Get-Content $PSScriptRoot\SaveMe.txt | where { $_.length -gt 4 -and ($_.Contains("C:\")) -and $_ -NotContains "Program Files" -or "C:\Program Files (x86)" -or "C:\Windows" }
$EDrive = Get-Content $PSScriptRoot\SaveMe.txt | where { $_.length -gt 4 -and ($_.Contains("E:\")) -and $_ -NotContains "Program Files" -or "C:\Program Files (x86)" -or "C:\Windows" }
$GDrive = Get-Content $PSScriptRoot\SaveMe.txt | where { $_.length -gt 4 -and ($_.Contains("G:\")) -and $_ -notcontains "Program Files" -or "C:\Program Files (x86)" -or "C:\Windows" }
はどのようにあなたの '$ PSScriptRoot \ SaveMe.txt'のように見えるのですか? – Avshalom
には、C:¥Users¥$ env:username¥Documents C:¥Users¥$ env:username¥Pictures C:¥Users¥$ env:username¥Desktop C:¥Users¥$ env:usernameのようなフルパスが含まれています。 \お気に入り C:\ Users \ $ env:username \ Music C:\ Users \ $ env:username \ Videos –