web-dev-qa-db-ja.com

新しいファイルを保持したまま古いファイルをごみ箱から自動的に削除しますか?

一定期間後に古いファイルをごみ箱から削除するExplorerアドオンが必要です。

たとえば、制限時間を30日に設定するとします。 Windowsでファイルを削除すると、ソフトウェアはその削除時間の記録を保持します。毎日、経過時間が30日に達した削除済みファイルをスキャンし、存在する場合は削除します。

このようなソフトウェアはありますか?

25
hkBattousai

RecycleBinExは、Windows向けのシンプルなアプリケーションで、ユーザーの要求に正確に応えます。参照: http://www.fcleaner.com/recyclebinex

Mac OSXでは、Hazelが同じことを行います(他のものも同様です): http://www.noodlesoft.com/

KDEプラズマこの機能はデフォルトで出荷されますです。KDEでKubuntu、Arch、Chackra Linux、またはその他のディストリビューションを実行している場合は、すでにこの機能を利用できます。 Dolphin設定ウィンドウを見てください。

Ubuntu Unity、Gnome、または標準のFreeDesktop.org Trash機能を提供するその他のgnu/linuxデスクトップ環境では、AutoTrashを使用してこのことを実行できます: http://www.logfish.net/pr/autotrash /
同様の動作はtrash-cliでも実行できます。これは、コマンドラインから直接ファイルをゴミ箱に送信するためにも使用できます。参照: https://github.com/andreafrancia/trash-cli

そこにあるほとんどのメールアプリにも、「ゴミ箱」用のこの機能があります。

Androidデフォルトでは「ゴミ箱」はありません(削除すると永久に削除されます)が、Dumpsterのようなアプリをインストールできます(どういうわけか)同様の機能を取得: http://www.dumpsterapp.mobi/

上記のように、古いファイルをゴミ箱から自動的に削除することは素晴らしい機能にすることだと思いますもっと使いやすく混乱を減らすので(3か月間ゴミ箱に移動したファイルです)以前はまだあなたに関係がありますか?そして同じファイルのそれらの古いリビジョンすべて?)そしてあなたが回復したいものを見つけやすくします(これが結局私たちのコンピュータに「ゴミ箱」がある理由です)、それでも安全です。

テキストファイル(コードまたは散文)を頻繁に使用する場合、ほとんどの場合は小さく、多くのスペースを必要としないため、さらに便利です(ごみ箱のクォータに到達しない可能性があります)。これにより、定期的に「ごみ箱を空にする」必要がなくなります。必要に応じて、「ごみ箱」にあるファイルを回復するための時間枠があることを知っているだけです。

そこにあるほとんどのクラウドサービス(Dropbox、Google Drive、Simplenoteなど)を見ると、それらのほとんどは削除されたファイルに対して同様のポリシーを持っているようです。私はそれがあなたのファイルを扱う正しいことだと本当に思っています、そして彼らはそう思っているようです。

9
gerlos

Explorerアドオンは知りませんが、Windowsのほとんどの機能と同様に、これはPowerShellで実行できます。

ForEach ($Drive in Get-PSDrive -PSProvider FileSystem) {
    $Path = $Drive.Name + ':\$Recycle.Bin'
    Get-ChildItem $Path -Force -Recurse -ErrorAction SilentlyContinue |
    Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
    Remove-Item -Recurse
}

このスクリプトを、.ps1拡張子の付いたテキストファイルとして保存します。タスクスケジューラを使用して、これを定期的に実行できます。

ただし、最初にPowerShellスクリプトの実行を許可する必要があります。デフォルトでは、PowerShellプロンプトに直接入力されたコマンドしか実行できないためです。これを行うには、PowerShellを開き、次のコマンドを入力します。

Set-ExecutionPolicy RemoteSigned

プロンプトが表示されたら、「y」または「yes」と入力します。詳細は Get-Help Set-ExecutionPolicy を参照してください。

次に、タスクスケジューラを開き、次のパラメータを使用して新しいタスクを作成します。

  1. [全般]タブで名前を入力し、[最高の権限で実行]オプションをオンにします
  2. [トリガー]タブで、新しいトリガーを追加し、タスクを毎日実行するように設定します
  3. [アクション]タブで、新しいアクションを追加します:
    • タイプは「プログラムの開始」のままにします
    • 「プログラム/スクリプト」フィールドをC:\Windows\System32\WindowsPowerShell\v1.0\powershell.exeに設定します
    • [引数を追加]フィールドを-NonInteractive -File "C:\path\to\script.ps1"に設定します
  4. [条件]タブで、[コンピュータがAC電源で動作している場合にのみタスクを開始する]チェックボックスをオフにします

スクリプトの行ごとの説明:

ForEach ($Drive in Get-PSDrive -PSProvider FileSystem) {

これは、コンピューター内のすべてのドライブのリストを取得し、それらを1つずつループします。 -PSProvider FileSystemパラメータは、ディスクドライブのみを返すために必要です。PowerShellには、レジストリハイブなどの他のさまざまなもののための疑似ドライブもあるからです。

詳細については、 Get-Help Get-PSDrive および PowerShellでのループ処理に関するこのチュートリアル を参照してください。

$Path = $Drive.Name + ':\$Recycle.Bin'

これにより、現在のドライブのごみ箱フォルダーへのパスが作成されます。 PowerShellが$Recycleを変数として解釈しないように、2番目の部分を一重引用符で囲んでいることに注意してください。

Get-ChildItem $Path -Force -Recurse -ErrorAction SilentlyContinue |

これにより、指定したパス(前のコマンドで作成したパス)の下にあるすべてのファイルとサブフォルダーが返されます。 -Forceパラメータは隠しフォルダとシステムフォルダに移動するために必要であり、-Recurseパラメータはコマンドを再帰的にします。すべてのサブディレクトリもループします。 -ErrorActionは、ほとんどのPowerShellコマンドの標準パラメーターであり、値SilentlyContinueは、コマンドでエラーを無視します。これの目的は、ファイルをすぐに削除するように構成されているドライブのエラーを防ぐことです。最後の|記号は、結果を次のコマンドにパイプします。読みやすくするために数行に分割しています。

詳細については、 Get-Help Get-ChildItem を参照してください。

Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |

これは単に、前のコマンドの結果をフィルタリングし、30日より古いもののみを返します。 $_は現在処理中のオブジェクトを示し、この場合のLastWriteTimeプロパティはファイルが削除された日時を示します。 Get-Dateは現在の日付を返します。

詳細については、 Get-Help Where-Object および Get-Help Get-Date を参照してください。

Remove-Item -Recurse

これは、前のコマンドで渡されたアイテムを削除するだけです。 -Recurseパラメータは、空でないサブフォルダの内容を自動的に削除します。それがないと、そのようなフォルダを要求するプロンプトが表示されます。

詳細については、 Get-Help Remove-Item を参照してください。

17
Indrek

Windowsのごみ箱が最大サイズに達すると、古いファイルは自動的に削除されます: ごみ箱が割り当てられたスペースを使い果たすとどうなりますか?

これは、Recylce Binのプロパティから制御できます。

enter image description here

4
Matthew Lock

更新:Windowsが30日後にリサイクルbinファイルを削除しないことに気付きました。どうやら、この機能はディスク容量が少ないときにのみアクティブになります。私はこの答えをしないでおくつもりです


Windows 10にはこの機能が組み込まれています。

  1. Winキーを押して、storageを検索します
  2. Storage(システム設定)をクリックします
  3. ストレージセンス機能をオンにする
  4. をクリックして、スペースを解放する方法を変更しますリンク enter image description here
  5. ごみ箱に30日間以上保存されているDeleteファイルがオプションがオンになっていることを確認してください enter image description here
4
AXO