を-includeに適用されません。 ここで何が間違っていますか? .jpgファイルのみを数えるにはどうしたらいいですか?ドキュメントは、この問題にはほとんど不明であるが、あなたの疑いがあるので、カウントが、私は、スクリプトを次のようしているJPG
$FilesInFolder = @($_ | Get-ChildItem -Recurse -Include $Extension -File -Force)
を-includeに適用されません。 ここで何が間違っていますか? .jpgファイルのみを数えるにはどうしたらいいですか?ドキュメントは、この問題にはほとんど不明であるが、あなたの疑いがあるので、カウントが、私は、スクリプトを次のようしているJPG
$FilesInFolder = @($_ | Get-ChildItem -Recurse -Include $Extension -File -Force)
私は完全にこれを説明することはできません:私はそれを行うには、このラインで何かを持っていることを考えていますが、任意の解決策を見つけることができません右。明示的にパスを指定
利用-Filter
代わりの-Include
$FilesInFolder = @($_ | Get-ChildItem -Recurse -Filter $Extension -File -Force)
の代わりに、入力オブジェクト
$FilesInFolder = @(Get-ChildItem -Path $_.FullName -Recurse -Include $Extension -File -Force)
特に2番目のバージョンでは、これがおそらくバグ(または少なくとも非常に奇妙な動作)でGet-ChildItem
私は問題が$ _ | Get-ChildItemはPathプロパティにパイプされているオブジェクトのPathを生成しません($ _の代わりにPSPathという名前のプロパティがあるため)。
しかし、これは動作しているようです:
$Extension = "*.jpg"
Get-ChildItem -Path 'C:\Users\ab73541\Documents\' -Directory | ForEach-Object {
$FilesInFolder = @(Get-ChildItem $_.PSPath -Recurse -Include $Extension -File -Force)
$FileSize = $FilesInFolder | Measure-Object -property length -Sum | Select -ExpandProperty Sum
$FileSize = "{0:N2}" -f ($FileSize/1MB) + " MB"
$NumFiles = $FilesInFolder.Count }
または私はどこ-オブジェクト{$ _延長-eq ".JPG" を。}使用することができます –