お世話になっております。
特定のフォルダ内に「20240528」というように日付を名前にしたフォルダが保存され、その中に処理したファイルを入れていくロボットがあります。
毎日起動するため、この特定のフォルダ内の日付フォルダを一定数(例えば3日分)に保ち、古いフォルダは削除していきたいと思います。既にできているフローの最初にこの部分を追加しようと思うのですが、一番古いフォルダを一つだけ消すにはどうしたらいいのか教えてください。
初心者で不慣れなため、詳しく教えていただきたくお願いします。
フォルダ名の年月日(“yyyy/MM/dd”)をDateTime.ParseでDateTime変数に取り込んで、最も古い年月日をElse Ifアクティビティで選択してその年月日を含むフォルダを削除すれば良いのでは?
そのフォルダに8桁の数字フォルダしかないのであれば、一番古いフォルダは以下で抽出可能です。
System.IO.Directory.GetDirectories(yourPath).OrderBy(Function(f) System.Text.RegularExpressions.Regex.Match(System.IO.Path.GetFileNameWithoutExtension(f),"\d{8}").Value).FirstOrDefault()
お世話になります。教えていただいた方法でやってみたいのですが、教えていただいたコードを具体的にどうすればいいのかわかりません。 Invoke Codeに入力すればいいのでしょうか。素人ですみません。
InvokeCodeは不要です。直接DeleteFolderに設定すれば良いです。(事前に変数に入れても良いと思います)
まずは想定のファイルと一致しているかを確認するためにメッセージボックスにこの式をいれて内容があっているかを確認した方が良いかもです
1 Like
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.