windows10のpowershellで操作することを前提としています。
外付けのドライブにAフォルダ、Bフォルダ、Cフォルダがあり、
それぞれ違う情報のバックアップが毎日とられています。
ただ、古いものが自動的に削除されることがなく、
毎日定期的に削除するために、powershellでできないかと
考えました。
Aフォルダ、Bフォルダ、Cフォルダによって、以下のように
バックアップフォルダの名前のルールが違います。
C:¥temp¥Aフォルダ:20220518
C:¥temp¥Bフォルダ:20220518-0300(必ず最後がー0300となる)
C:¥temp¥Cフォルダ:20220518-0305(最後の二けたが時刻によって異なる)
単なる日付フォルダだけではなく、また、固定にもならないCフォルダの
ようなものもあるので、以下のようなコードを考えて、テストは成功しました。
$dateformat =(get-date).adddays(-150).tostring("yyyyMMdd")
Remove-Item C:\temp$dateformat -Recurse
ただ、これだと、例えば「C:¥temp¥20221013」というフォルダに「20220518_バックアップ.txt」という
ファイルがあると、ワイルドカードで拾われてしまい、削除されてしまいます。
VBAだと、フォルダとファイルの区別みたいなことを条件にいれて、
削除する・しないを制御できるかとも思ったので、調べてみたのですが、
そういうコードは見つかりませんでした。webやここでも検索してみましたが、
同じような事例がありませんでした。
フォルダとファイルで区別するみたいなことができればとも思うのですが、
良い方法はないでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/17 02:22