0

私はこの素晴らしいスクリプトを持っています:

gci -Recurse| where {$_.LastWriteTime -gt (Get-Date).AddDays(-45)}| group Extension -NoElement

出力は次のとおりです。

4352    .JPG
2352    .doc
2135    .pdf
1811    .xls
1472    
857 .pub
732 .xlsx
565 .docx
66  .rtf
64  .lnk
63  .ppt
61  .url
41  .png
38  .xml
28  .htm
27  .msg

私が望むのは、この同じスクリプトを現在のディレクトリのすべてのディレクトリで実行することです(再帰的ではありません)。たとえば、私がディレクトリc:\testにいて、そのディレクトリがフォルダ、、alexおよびlizaの場合、harryこのスクリプトをに適用したいc:\test\alex、、c:\test\lizac:\test\harry

私が望む出力は次のようになります。

4352    .JPG    directory name
2352    .doc    directory name
2135    .pdf    directory name
1811    .xls    directory name
1472        directory name
857 .pub    directory name
732 .xlsx   directory name
565 .docx   directory name

上記のスクリプトを変更して、すべてのディレクトリに対してこれを行い、ディレクトリ名を追加するにはどうすればよいですか?

4

2 に答える 2

1

フォーマットは重要ですか?そうでない場合は、複数のプロパティでグループ化できます。

gci -Recurse| 
    where {$_.LastWriteTime -gt (Get-Date).AddDays(-45)}|
    group Extension, Directory -NoElement
于 2013-01-30T22:33:12.120 に答える
1

Try this

Get-ChildItem c:\test | Where-Object {$_.PSIsContainer} | ForEach-Object{
   $folder = $_.FullName
   Get-ChildItem $_.FullName -Recurse | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-45)} | Group-Object Extension -NoElement | Select-Object Name,Count,@{n='Directory';e={$folder}}
}
于 2013-01-31T09:20:51.690 に答える