ファイル名の検索方法について

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 ファイル名の検索方法について

  • このトピックは、 2 返信、 2 投稿者 です。最終更新日: 6 ヶ月 前 koni
3 件の投稿を閲覧中 - 1 ~ 3 件(全 3 件)
  • 著者
    投稿
  • #7585
    koni
    一般参加者

    大変お世話になっております。

    日付を含めたファイル名の検索方法及びファイル削除の方法について以下のように検討しております。なにか良い方法があればご教授いただきたく存じます。

    1日1回ダンプを実施して、ファイル名に日付を入れてファイル生成をしています(作成例:20240522_test.sql)。
    例えば10日前より以前の生成ファイル(20240512_test.sql)を検索し、まとめて削除するような処理は可能でしょうか。

    この方法に限らずバックアップファイルで、古いファイルの削除方法の考え方などありましたら、教えていただきたいです。
    よろしくお願いいたします。

    #7586
    MZPlatformユーザー会
    サイト管理者

    お問い合わせありがとうございます。

    [ファイル]コンポーネントのメソッド「直下に存在するファイル名称取得()」でフォルダ内のファイル名のリストを取得することができます。
    一番簡単にはファイル名の主要部分が日付で構成されていることに着目し、取得したリストを降順に並べ、一定の位置より後ろのファイルは削除することが考えられます。
    [繰り返し制御(FOR)]を使って、例えばリストの第10番目から最後までのファイルを削除します。

    削除したくないファイルも同じフォルダに存在する場合には、メソッド「getSubFileNames(String)」で引数に正規表現を設定し、絞り込んだファイル名のリストの取得ができます。

    また、ファイルの最終更新日時あるいは作成日時をDate型で取得することができます。
    ただし、更新日時の取得は一つのファイルについてであり、リスト形式ではありません。
    [カレンダー]コンポーネントで、基準の日時(例:10日前)とファイルの更新日時までの経過時間を取得し、更新日時が10日以前だったら削除するといった処理も考えられます。この場合、ファイル名は関係なく更新日時が基準となります。

    なお、windows10以上では特定の一時フォルダ(ゴミ箱、ダウンロードフォルダ)の自動削除の設定ができるようです。しかし、それ以外のフォルダにの自動削除の設定はできません。

    以上確認のため、簡単なサンプルファイルを添付いたします。
    ご不明な点、ご要望等ございましたら、再度ご連絡いただければ幸いです。
    どうぞよろしくお願い申し上げます。

    添付ファイル:
    #7588
    koni
    一般参加者

    ご回答ありがとうございます。
    サンプルファイルを参考にして、バックアップ関連の動作ファイルを完成させることができました。
    今後ともよろしくお願いいたします。

3 件の投稿を閲覧中 - 1 ~ 3 件(全 3 件)
  • このトピックに返信するには、ログインしてください。