Windowsで古いファイルを削除する
■やりたいこと
50日以上前のログファイルを削除する
■使用コマンド
forfiles
■forfilesのオプション
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
C:\>forfiles /? FORFILES [/P パス名] [/M 検索マスク] [/S] [/C コマンド] [/D [+ | -] {yyyy/MM/dd | dd}] 説明: ファイル (または、ファイルのセット) を選んで、そのファイル上の コマンドを実行します。これはバッチ ジョブの使用に便利です。 パラメーター一覧: /P パス名 検索を開始するパスを示します。 既定のフォルダーは現在実行中の ディレクトリ (.) です。 /M 検索マスク 検索マスクによってファイルを検索します。 既定の検索マスクは '*' です。 /S サブディレクトリに対しても処理を行うように forfiles に 指示します (例: "DIR /S")。 /C コマンド 各ファイルの実行するコマンドを示します。 コマンドの文字列は二重引用符で囲んでくだ さい。 既定のコマンドは "cmd /c echo @file" です。 次の変数をコマンドの文字列に使用することができ ます: @file - フィルの名前を返します。 @fname - 拡張子なしのファイル名を 返します。 @ext - ファイルの拡張子だけを返し ます。 @path - ファイルの完全なパスを返します。 @relpath - ファイルの相対パスを返し ます。 @isdir - ファイルの種類がディレクトリの場合 は "TRUE"を、ファイルの場合は "FALSE" を返します。 @fsize - ファイルのサイズをバイトで返し ます。 @fdate - ファイルの最終更新日を返し ます。 @ftime - ファイルの最終更新時刻を返し ます。 コマンド ラインに特殊文字を使用する場合は、 文字を 16 進数コードで 0xHH 形式で (例: タブは 0x09) 指定してください。CMD.EXE の 内部コマンドの前には "cmd /c" が必要 です。 /D 日付 最終更新日が指定された日かもしくはそれ 以降 (+)、または指定された日またはそれ 以前 (-) であるファイルを "yyyy/MM/dd" 形式を使っ て選択します。または、最終更新日が現在 の日にちより "dd" 日あと、もしくは "dd" 日 前であるファイルを選択します。有効な "dd" 値は 0 から 32768 の間です。 指定がない場合は、"+" が既定で使用さ れます。 /? ヘルプまたは使用法を表示します。 |
C:\monkeyのディレクトリの50日以上前のファイルを削除する。
1 |
FORFILES /p C:\monkey /d -50 /c "cmd /c del @file" |