どうやって削除古いファイルからディレクトリを最新のものWindowsの[複製]

StackOverflow https://stackoverflow.com/questions/50902

  •  09-06-2019
  •  | 
  •  

質問

可能な重複:
バッチファイルを削除する以前のファイルN日間の

に走りたい予定でwindowsのタスクがすべて削除してからファイルディレクトリ以上経過した2週間です。

その理由はこれらIIS、Tomcatログを埋私のサーバでいきたいと思い、最近ログインの場合は必要な調査問題です。

いずれかりやすくなるのか?

乾杯

Nige

役に立ちましたか?

解決

正確な構文: FORFILES /p d:\new /d -30 /m * /c "cmd /c del @file"

他のヒント

最も簡単な方法も。batを実行ファイルを実行毎週または毎月.

cd \mylog\dir
mkdir archive
del /Q .\archive\*.log
move *.log .\archive

したい場合はのように複雑なみダウンロードするにはcygwinのツールを利用un*xのようにコマンドはあるものと見ていユー.

とVBScript、適応から ScriptingAnswers

Dim fso, startFolder, OlderThanDate
Set fso = CreateObject("Scripting.FileSystemObject")

startFolder = "E:\temp"           ' folder to start deleting (subfolders will also be cleaned)

OlderThanDate = DateAdd("d", -07, Date)  ' 07 days (adjust as necessary)

DeleteOldFiles startFolder, OlderThanDate

Function DeleteOldFiles(folderName, BeforeDate)
    Dim folder, file, fileCollection, folderCollection, subFolder

    Set folder = fso.GetFolder(folderName)

    Set fileCollection = folder.Files

    For Each file In fileCollection
        If file.DateLastModified < BeforeDate Then
            ' fso.DeleteFile(file.Path)    # Modify this to delete after testing
            WScript.StdOut.WriteLine (file.Path)
        End If
    Next

    Set folderCollection = folder.SubFolders
    For Each subFolder In folderCollection
        DeleteOldFiles subFolder.Path, BeforeDate
    Next

End Function

に実行できるこのスクリプトとCScript

@ジェイソン:素敵なるFORFILESリソースからキット

ジバッチファイルの扱います。

この行を削除するすべてのファイル(*.*) にc:\mydirectory 以上経過した14日間:

FORFILES -pc:\mydirectory -s -m*.* -d-14 -c"DEL @FILE"

そのテキストファイル名を変更しよう"deletefiles.bat"とスケジュールです。

まだ試ことがある。


編集:ご利用の場合は、ただくには理解何が起きているのは、sフラグかでrecurseのサブディレクトリ、そのあたりに何をしたいと思う。また、特に指定する必要はあり一部の国旗のデコマンドです。:)


編集:を実現する必要があり ダウンロードも株式会社エンパシは、Microsoft社からwindows ためには、FORFILESます。私のように解決すぎていています。問題はただくだけで毎週間走らせるのではなくプロセスの日常を取り除いたもの以上14日間です。うことになる。P

ぜん書きますバッチファイルまたはpowershellスクリプトとスケジュールです。

スクリプト を削除する以前のファイルが指定された。

からない場合は、perl(またはそれに類似するもの)設置のサーバー:

#!perl
foreach my $file (</path/to/logs/*.log>) {
  next unless -M $file > 14;
  print "Deleting $file...\n";
  # unlink $file or die "Failed to remove $file: $!";
}

るラインは実際には削除するコメントアウトされていてもタイム-フェイヴァリットハウス:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top