
私が勤めている会社には共有ネットワーク ドライブがあります。そこには、各部門のフォルダーと各従業員のフォルダーがあります。何年も前に退職した従業員のフォルダーが大量にあり、部門ツリーのサブフォルダーにも同じことが当てはまると思います。
ディスク使用量スキャンを実行したところ、節約できる可能性が十分にあります。負荷古いデータを削除することでディスク領域を節約できます。しかし、最終更新日によるディスク使用量の概要を取得することは興味深い課題ですが、その答えを思いつくことができていません。
何かアイデアはありますか? フォルダー (またはフォルダー内のファイル) が最後に変更された日付でソートされたフォルダー (さまざまなツリー レベル) のリストを取得するにはどうすればよいでしょうか?
更新: これはLinux用ですただし、「generic linux」のタグはありません (Mint、Kali、その他いくつかのみです)。
答え1
ファイルエクスプローラーを開き、共有フォルダーに移動します。
キーボードの キーを押すとF3、検索フィールドにドロップダウン メニューが表示されます。
Date modified:
下をクリックしてAdd a search filter
、必要に応じて時間フィルターを選択します。定義済みのパターンから検索条件を選択するか、検索フィールドに日付の範囲を次のように入力できます。
datemodified:1/1/2000 .. 8/22/2018
<
ある日付以降に変更されていないファイル/フォルダーを見つける必要がある場合は、日付の前に文字を使用できます。
datemodified:<1/1/2010
それは見つけるだろう再帰的に2010 年 1 月 1 日より古いすべてのファイルとフォルダ
エクスプローラーが検索を停止したら、ビューを切り替えてDetails
列を押し、Date modified
見つかったファイルとフォルダーを並べ替え、不要になったものを削除します。
次のように検索フィルターを使用して日付accessed
で検索することもできます。created
datecreated:
dateaccessed:
古いコンテンツの削除を自動化したい場合は、コンソール ユーティリティを使用できます。forfiles
フォルダーから 1 年前以降に変更されていないフォルダー/ファイルを再帰的に削除するにはC:\SomeFolder
:
forfiles /s /p "C:\SomeFolder" /d -365 /c "cmd /c del @path"
古いファイル/フォルダを削除するのではなく一覧表示したい場合は、以下を使用できます。
forfiles /s /p "C:\SomeFolder" /d -365 /c "cmd /c echo @path [@fdate]"
forfiles /?
Windowsに含まれているこのユーティリティに関する詳細情報を取得するには、
バッチ ファイルを作成し、タスク スケジューラで実行して、古いコンテンツを自動的に削除することもできます。
PS Linux を使用して古いディレクトリ/ファイルを検索して削除する場合は、はるかに簡単です。
古いコンテンツを一覧表示するには:
#!/bin/sh
srcDir='/Path/to/share/'
daysAgo='360'
find "${srcDir}" \( -type f -o -type d \) -a -mtime +"${daysAgo}"
古いコンテンツを削除するには:
#!/bin/sh
srcDir='/Path/to/share/'
daysAgo='360'
find "${srcDir}" \( -type f -o -type d \) -a -mtime +"${daysAgo}" -exec rm -fd '{}' \;
ディレクトリを再帰的に削除したい場合は、rm -fdr
代わりにrm -fd