web-dev-qa-db-ja.com

指定したフォルダから古いファイルを自動的に削除しますか?

特定のフォルダからX日より古いファイルを自動的に削除する自動タスクを設定したいと思います。サードパーティのソフトウェアをインストールせずにそれを実行したいのですが、それが非常に小さくて単純なユーティリティであれば問題ありません。

これにより、ファイルを整理しておく必要があります。ブラウザを標準フォルダにダウンロードするように設定していますが、このスクリプトを使用して1週間以上経過したファイルを自動的に削除すると、保持したいダウンロードしたファイルを移動して整理する必要があります。

2
davr

BelvedereLifehacker の編集者の1人からはどうですか。

alt text

2
outsideblasts

これは、Windows ScriptingHostを使用すると非常に簡単です。サンプルスクリプトは次のようになります。

numDays = 7

Set objfso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.GetFile("C:\test.txt")

Sub DeleteOldFile(objFile, numDays)
    dateFile = objFile.DateLastModified
    dateToday = Now()

    If dateFile <= dateToday Then
        daysOld = dateToday - dateFile
        If daysOld > numDays Then
            objFile.Delete
        End If
    Else
        WScript.Echo "Incorrect date stamp in", strFile
    End If

End Sub

スクリプトを作成してから、スケジュールされたタスクとして実行する必要があります。金曜日の朝にログオンしてから30分後に、移動したいファイルを取得する最後のチャンスを自分に与えてください。この例の完全な ソース

1
Beaner

DelOld を見つける直前に、しばらく前にこのソリューションを自分でコーディングしました。これはveryの小さなツールであり、必要なことを正確に実行します。ラップされた.jarファイルとして利用できますJava =実行可能ファイル、Visual Basic実行可能ファイル(MSVBVM60.DLLが必要)、そしてもちろんソースコードとして。

2つのコマンドライン引数(フォルダーのパスとファイルを削除するまでの日数)を指定するだけです。また、タスクスケジューラを介してバッチスクリプトを介して実行することもできます。

例:

DelOld.exe "C:\ Downloads" 30

これにより、C:\Downloadsの下にある30日より古いすべてのファイルが削除されます。

1
John T

Forfilesと呼ばれるWindowsコマンドがあります。私はそれがウィンドウズ2000リソースキットにあったと思います。ペトリのウェブサイトからそれへのリンクを見つけました: http://www.petri.co.il/download_free_reskit_tools.htm 古いものに基づいて個々のファイルを削除するなど、それを使ってできることがたくさんありますそれらは、またはディレクトリ全体です。

1
Nixphoe