30日以上前のファイルを削除するためのバッチスクリプト
シェルスクリプトは、 Linux上でファイルを処理するための強力な方法です。 古いファイルをコピーまたは削除するために使用できるカスタムシェルスクリプトを書くことができます。 コードを書き出したら、それをファイルとして保存し、バッチモードで実行する必要があります。 コードがバッチモードで実行されると、ユーザーは必要に応じて古いファイルを移動または削除できるようになります。
- 問題
- 溶液
- 注意
問題
あるフォルダから別のフォルダに30日以上経過したファイルをコピーできるバッチスクリプトを作成したいと思います。 コピー先のフォルダにコピーした後に、元のフォルダから30日前のファイルも削除したいと思います。
溶液
次のウィンドウズスクリプトは与えられた日付より古いファイルをC:folder1からC:folder2に移動します。 年上では、私はそれらが特定の日付後に変更されていないと仮定しています。
日付はyyyymmddの形式で渡されます。 ファイルがfolder2に移動されると、それらは自動的にfolder1から削除されます。
#スクリプトmovefiles.txt#入力引数 - date var str date#$ date以降変更されていないファイルのリストを取得します。 var strリスト。 lf -n "*" "C:folder1"(($ ftype == "f")AND($ fmtime $ list#ファイルを1つずつ移動します。($ list "")var str file; lex "1" $ list> $ file system $ file "C:folder2"を移動しました
スクリプトはbiterscriptingです。 //www.biterscripting.comからbiterscriptingをダウンロードしてください。
- スクリプトをC:Scriptsmovefiles.txtとして保存します。
- biterscriptingを起動します。
- スクリプトを次のように呼び出します。
スクリプトmovefiles.txt date(今日の日付)
上記は、今日の30日前から変更されていないファイルを移動します。
注意
フォーラムでこのヒントをくれたSenHuに感謝します。