私は補完的な.md5ファイルを持つファイルのリストを取得する必要があるPowerShellスクリプトを作成しています。たとえば、ファイル名がabc.txt
の場合、同じディレクトリにabc.txt.md5
という名前のファイルが存在する場合にのみ、リストに追加します。PowerShellの.md5対応のすべてのファイルのリストを取得
これは私の試みですが、動作しません。なぜわからないのですか?
$DirectoryToScan = ".\SomePath"
$Files = Get-ChildItem $DirectoryToScan -Recurse |
Where-Object { !$_.PSIsContainer } |
Where-Object { $_.Name -notmatch ".*\.md5" } |
Where-Object { Test-Path "$($_.FullName).md5" }
最後のWhere-Object
節がなければ問題なく動作します。私はこれが動作し、あなたがテストパスのために再びディレクトリを打つ保存するべきだと思い
gci $DirectoryToScan -recurse -exclude "*.md5" | ?{ -not $_.PsIsContainer } |
?{ test-path ($_.fullname + ".md5") }
恥ずかしい...私はただの.md5ファイルなしディレクトリに対してスクリプトを実行された可能性があります。私はその簡潔さのためにあなたのスクリプトが好きです。 –