web-dev-qa-db-ja.com

サーバー上のすべての圧縮ファイルを表示/検索しますか?

Windows Server 2003マシンのファイル形式に関係なく、すべての圧縮ファイル/フォルダーを見つける必要があります。検索オプションはこの機能を提供しません。

すべての圧縮ファイルをリスト/表示する方法はありますか?

おそらく、これはPowerShellでfile/folder属性を使用して実行し、ファイルの場所を含むtxtファイルに入れることができます。

PD:

圧縮ファイル/フォルダの下-ファイル/フォルダ属性を変更した後、エクスプローラで青色で表示されるファイルを意味します。

enter image description here

7
Volodymyr M.

圧縮されたインジケーターは「属性」プロパティに格納されます。このPowershellは圧縮ファイルを報告します。

gci -r C:\search\path | where {$_.attributes -match "compressed"} | foreach { $_.fullname }

-編集を開始

ファイルサイズは、バイト単位のlengthプロパティに格納されます。 「計算されたプロパティ」と呼ばれるものを使用して、サイズをkb、mb、gbなどで表示できます。

$col1 = @{label="Size";Expression={$_.length/1mb};FormatString="0.0";alignment="right"}
$col2 = @{label="Fullname";Expression={$_.fullname};alignment="left"}
gci -r | where {$_.attributes -match "compressed"} | ft $col1,$col2 -autosize

より大きなファイルのみが必要な場合は、1MBを超えると言います

gci -r | where {$_.attributes -match "compressed" -AND $_.length -gt 1mb} | ft $col1,$col2 -autosize

フォルダーサイズも可、獣とは若干異なります。その方法については、「Powershellフォルダーサイズ」のたくさんの投稿をググってみてください。フォルダサイズを報告する多くの無料ツール(windirstat)もあります。

10
Clayton

「圧縮ファイル」は広範囲のファイルを意味する可能性があるため、定義は曖昧です。通常の.Zip .tar .7zなどがあります。cabファイルもあるのですが、今日の一般的な頻度はわかりません。

私の知る限り、圧縮ファイル自体を見つける簡単な方法はありません。検索するファイルタイプを定義し、DOSコマンドdirを使用するだけです。

ルートプロンプトで

dir *.Zip *.rar *.7z *.tar /s >> output_file.txt

これにより、すべてのサブディレクトリ内のすべてのファイルタイプが一覧表示され、出力がファイルoutput_file.txtに保存されます。次に、「ログ」を調べて、必要なものを探します。

DIRの詳細情報- http://www.computerhope.com/dirhlp.htm

0
Sandokan