2011/12/25

PowerShellを使う試み -4-

なんだか同じファイルを貯め込んでいるような気がして。

Get-ChildItem z:\ -Recurse -Include *.iso,*.exe |?{!$_.PSIscontainer}
#isoとexeを集める 
Get-ChildItem z:\ -Recurse -Include *.iso,*.exe|
    ?{!$_.PSIscontainer}|
    Group length
#ファイルサイズでグループ 

Get-ChildItem z:\ -Recurse -Include *.iso,*.exe|
    ?{!$_.PSIscontainer}|
    Group length|
    ?{$_.count -ge 2}
#2個以上
$files=@()
#入れ物を用意して

Get-ChildItem z:\ -Recurse -Include *.iso,*.exe|
    ?{!$_.PSIscontainer}|
    Group length|
    ?{$_.count -ge 2}|
    %{$files+=$_.group}
#foreachで追加していく

$files|Out-GridView
#Gridvew表示
一気に
Get-ChildItem z:\ -Recurse -Include *.iso,*.exe|
    ?{!$_.PSIscontainer}|
    Group length|
    ?{$_.count -ge 2}|
    % -begin{$files=@()}`
      -Process{$files+=$_.group} `
      -end{$files|Out-GridView}
New-PSDrive X FileSystem \\Server\Shared

Get-ChildItem X: -Recurse -Include *.iso,*.exe|
    Where-Object{!$_.PSIsContainer}|
    Group-Object length|
    Where-Object{$_.Count -ge 2}|
    Select-Object -ExpandProperty Group|
    Select-Object Name,
                  DirectoryName,
                  Length,
                  LastWriteTime,
                  @{n="FileVersion";e={$_.VersionInfo.FileVersion}},
                  @{n="ProductVersion";e={$_.VersionInfo.ProductVersion}}|
    Out-GridView

Remove-PSDrive X

0 件のコメント: