NASのtrashboxにあるテンポラリーファイルを一括で削除するバッチ

NASのtrashboxにあるテンポラリーファイルを一括で削除するバッチパソコン知識

NASの容量圧迫はtrashboxが原因?不要なファイルとその一括削除方法で「大量に作成されるテンポラリーファイルは不要なので削除しましょう。」とお伝えしました。

上記記事ではいっぱいになってしまった時に一度だけなら良いのですが、定期的に作業するには大変です。

というのも操作を忘れてしまったり検索条件を忘れてしまったりするからです。

そこで今回はバッチファイルとタスクスケジューラを利用して定期的にNASをクリーンアップする方法を紹介します。

バッチとかタスクスケジューラって何?

という方でも大丈夫なようにバッチはコピー可能な手順付きです。タスクスケジューラも画像付きで手順を解説します。

もし分からないことがあれば、ページ下部のコメントなどで連絡ください。

NAS・trashboxの詳細や削除するファイルは前回の記事で紹介しています。

広告
そらしど

本業はWebプログラマー。
Cocoonのデザインをカスタマイズやブログノウハウを紹介しています。
気まぐれに遊べるおもちゃも作ってます。
リクエストは無料なので、気軽に投稿してください!
趣味はお昼寝です。
詳しいプロフィールはこちら

フォロー

今回削除対象となるファイル

正体不明な人

前回削除を推奨したファイルの内、テンポラリーファイルを削除対象とします。

  • 拡張子がtmpのファイル
  • ファイル名に~$がついているファイル

削除したくない場合はバッチの対象から外してください。

広告

バッチの作成

パソコンの前に座る人

まずは動かすバッチを作成します。

バッチ作成手順
  • STEP1
    テキストエディタを開く
  • STEP2
    コマンドをコピーしてテキストエディタに張り付ける
  • STEP3
    パスに対象NASのtrashboxを指定する
  • STEP4
    拡張子batで保存する

テキストエディタを開く

テキストエディタはテキストを編集するためのアプリです。

メモ帳などインストール済みのアプリで構いません

コマンドをコピーしてテキストエディタに張り付ける

次のコマンドをコピーしてテキストエディタに張り付けてください。

@echo off
rem 名前:delNasTrashTmpFile
rem 場所:\\〇〇〇.〇〇.〇.〇\trashbox
rem 目的:1週間経過したテンポラリーファイルの削除

echo pushd Directry
pushd \\〇〇〇.〇〇.〇.〇\trashbox

echo "*.tmp"deleting
forfiles /d -7 /m "*.tmp" /C "cmd /c del @file"

echo "Copy #*~$*"deleting
forfiles /d -7 /m "Copy #*~$*" /C "cmd /c del /a:h @file"

echo deleted
popd
Copy

詳細はページ下部で解説します。

パスに対象NASのtrashboxを指定する

テキストエディタにコピーしたコマンドの内、「\\〇〇〇.〇〇.〇.〇\trashbox」は対象NASのtrashboxのパスを指定してください。

下図赤枠の部分です。Ctrl+Lを押すとアドレスバーに移動できますので、そこからコピーしてください。

拡張子batで保存する

机

テキストエディタを普通に保存すると「.txt」という拡張子になります。

今回はバッチファイルのため、「.bat」という拡張子で保存します。

場所は自身のローカルディレクトリの任意の場所でかまいませんが、置き場を変えるとタスクスケジューラの設定を変える必要があります。

なるべく保存した場所から動かさないでください。

ファイル保存手順
  • STEP1
    名前を付けて保存を押す
  • STEP2
    ファイル名を入力
  • STEP3
    ファイルの種類を「すべてのファイル」に変更

ファイル名にこだわりがなければ「delNasTrashTmpFile.bat」などでいいかと思います。

特にファイル名はバッチに影響しません。

batファイルを名前を付けて保存

タスクスケジューラに作成したバッチを登録する

時計とパソコン

タスクスケジューラは決められた条件を満たすと自動で処理を命令するアプリです。

Windowsパソコンに標準で実装されています。

この機能を利用して、先ほど作成したバッチを定期的に実行させます。

タスクスケジューラ設定手順
  • STEP1
    Windowsボタンからタスクスケジューラを検索して実行
  • STEP2
    タスクの作成をクリック
  • STEP3
    全般に名前を入力してトリガーをクリック
  • STEP4
    新規をクリック
  • STEP5
    実行間隔と開始を設定してOKをクリック
  • STEP6
    操作をクリック
  • STEP7
    新規をクリック
  • STEP8
    プログラムに作成したバッチを指定しOKをクリック
  • STEP9
    OKをクリック
  • STEP10
    次回の実行時刻が正しければ完了
Windowsボタンからタスクスケジューラを検索して実行
Windowsボタンからタスクスケジューラを検索して実行
タスクの作成をクリック
タスクの作成をクリック
全般に名前を入力してトリガーをクリック
全般に名前を入力してトリガーをクリック
新規をクリック
新規をクリック
実行間隔と開始を設定してOKをクリック
実行間隔と開始を設定してOKをクリック
操作をクリック
操作をクリック
新規をクリック
新規をクリック
プログラムに作成したバッチを指定しOKをクリック
プログラムに作成したバッチを指定しOKをクリック
OKをクリック
OKをクリック
次回の実行時刻が正しければ完了
次回の実行時刻が正しければ完了

バッチコマンドの解説

会議する人

今回作成したバッチコマンドを簡単に解説します。

@echo off

@echo offはコンソールの表示抑制です。次に解説するコメントアウトなどを表示しないようにします。

画面表示は処理として重いので、不要な表示はなるべく抑制しましょう。

rem 名前:delNasTrashTmpFile
rem 場所:\\〇〇〇.〇〇.〇.〇\trashbox
rem 目的:1週間経過したテンポラリーファイルの削除

remはコメントアウトです。コマンドとして認識されません。メモ代わりに使います。

echo pushd Directry

echoは後ろに指定した文字列や変数を表示します。今回は進捗を表示するために使っています。

pushd \\〇〇〇.〇〇.〇.〇\trashbox
popd

pushdはカレントディレクトリの移動です。cdとの違いは履歴を残せることとUNC パスを使えることです。

NASのディレクトリはUNCパスで指定するためpushdを使っています。

PowerShellならどっちでもいいのでは?

そらしど
そらしど

そうだったのか…

せっかくバッチ作ったから今回はこれで!

popdはカレントディレクトリを履歴の一つ前に戻るです。今回は戻った後に特に処理はしないのでなくても動きますが、おまじない程度に置いてあります。

forfiles /d -7 /m "*.tmp" /C "cmd /c del @file"
forfiles /d -7 /m "Copy #*~$*" /C "cmd /c del /a:h @file"

forfilesは条件に一致したファイルに対して指定した処理を行うコマンドです。

/dは更新日付の比較です。処理した日付と比較します。今回は1週間前なので-7を設定しました。もし3日にしたければ-3など適宜に変更してください。

/mは検索条件です。前の記事で紹介した条件からコマンドプロンプトに合わせて少し変更しています。

/Cは処理するコマンドを指定します。cmdでコマンドプロンプトを指定しています。

/cはコマンドプロンプトで行う処理を指定します。

delはファイル削除のコマンドです。/a:hはdelコマンドのオプションです。隠しファイルを対象にします。

@fileは対象がファイルであることを指定しています。

よくあるエラー

困惑する子供

出る可能性があるエラーとその対処法を記載します。分からないことや載ってないエラーがあればページ下部のコメントなどで連絡ください。

ファイルが見つかりません

検索条件を見直してください。よくあるのが「*」をつけないであいまい検索になってない場合です。

CMD では UNC パスは現在のディレクトリとしてサポートされません。

今回使用しているコマンドプロンプトはNASへのディレクトリ移動にpushd以外を使うとエラーになります。

NASへの移動は全てcdではなくpushdを使ってください

当サイトで掲載しているソースコードについて

この記載はプライバシーポリシーからの抜粋です。

著作権およびライセンス

ブログに掲載されている、ブログ管理者(そらしど)が本来権利を有するソースコードについては、ライセンスをCC0とします。

商用・非商用を問わず自由に利用していただいて構いません。その際の連絡も不要です。

免責事項

当サイトに掲載しているカスタマイズ情報のご利用にあたっては、必ずカスタマイズするファイルのバックアップをご用意の上、ご利用者様責任において実施していただきますようお願いいたします。

カスタマイズの実施により生じたいかなる不具合等についても当サイトはその責任を負いかねます。何卒ご理解、ご了承の上、当サイトをご活用いただきますようお願い申し上げます。

まとめ

バッチファイルとタスクスケジューラを利用して定期的にNASをクリーンアップする方法を紹介しました。

少しでもお役に立てれば幸いです。

分からないことや質問があれば下記から気軽に連絡ください。

そらしど
そらしど

最後まで読んでいただきありがとうございました。


BUFFALO NAS スマホ/タブレット/PC対応 ネットワークHDD 2TB LS210D0201G 【エントリーモデル】

パソコン知識関連のおすすめ記事

コメント

タイトルとURLをコピーしました