2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« powershellの中でウィンドウアプリにパイプするとデータが重複する? | トップページ | バッチファイルや関連付けでフォルダの詳細表示相当+フォルダサイズを保存印刷する。 »

2010年12月19日 (日)

バッチファイルや関連付けでフォルダの詳細表示相当+フォルダサイズを表示する。

表示だけならPowerShellのOut-GridViewが使えます。

fsoだとフォルダサイズに全ファイルサイズが表示されます。

バッチファイルにフォルダをドロップします。あるいはバッチファイルをSendToフォルダに入れておいて、フォルダを送ります。

ps-fso-gv.cmd フォルダパス

powershell.exe -windowstyle hidden -command "$f=(new-object -com scripting.filesystemobject).getfolder('%~1');$f.subfolders+$f.files|select -property Name,Size,DateLastModified,Type|out-gridview -title '%~1';while([System.Diagnostics.Process]::GetCurrentProcess().MainWindowHandle -ne 0){start-sleep 1}"
 
ファイルフォルダのコンテキストメニューに関連付け

[HKEY_CLASSES_ROOT\Directory\shell\ps-fso-gv\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -windowstyle hidden -command \"$f=(new-object -com scripting.filesystemobject).getfolder('%1');$f.subfolders+$f.files|select -property Name,Size,DateLastModified,Type|out-gridview -title '%1';while([System.Diagnostics.Process]::GetCurrentProcess().MainWindowHandle -ne 0){start-sleep 1}\""

ファイルフォルダのバックグラウンドメニューに関連付け

[HKEY_CLASSES_ROOT\Directory\Background\shell\ps-fso-gv\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -windowstyle hidden -command \"$f=(new-object -com scripting.filesystemobject).getfolder('%v');$f.subfolders+$f.files|select -property Name,Size,DateLastModified,Type|out-gridview -title '%v';while([System.Diagnostics.Process]::GetCurrentProcess().MainWindowHandle -ne 0){start-sleep 1}\""

※ PowerShellが終了するとウィンドウも閉じるので、-windowstyle hidden コンソールを非表示にして、while([System.Diagnostics.Process]::GetCurrentProcess().MainWindowHandle -ne 0){start-sleep 1} 待ち合わせします。

« powershellの中でウィンドウアプリにパイプするとデータが重複する? | トップページ | バッチファイルや関連付けでフォルダの詳細表示相当+フォルダサイズを保存印刷する。 »