Visual Basic 中学校 掲示板 投稿内容
タグのない投稿を抽出 統計 RSS

Visual Basic 中学校 > 投稿一覧 >

フォルダ内にある複数ファイルの作成日時がある日数離れていると削除するプログラムを作りたい

タグの編集...

投稿者 さつ   (社会人)   投稿日時 2022/3/30 11:10:12
VB.NETでのプログラムについて質問します。(実際のソースコードはまだ思いつけていないため掲載できません、申し訳ありません)

エクスプローラのフォルダへ、
1.txt (作成日時:2020/1/1)
2.txt (作成日時:2021/1/1)
3.txt (作成日時:2022/1/1)

というファイルがあったとします。
プログラムで、フォルダ内に存在するファイルの作成日付を取得し、現在の日付からある日数(例えば、1年)離れた場合にそのファイルを削除するような、プログラムを作成したいのですが解決できていません。

アドバイス頂けたらと思います。宜しくお願いします。
 

投稿者 魔界の仮面弁士   (社会人)   投稿日時 2022/3/30 13:41:38
> ファイルの作成日付を取得し

更新日時ではなくて大丈夫でしょうか。日付の大小関係としては
 作成日時<更新日時
 作成日時=更新日時
 作成日時>更新日時
のいずれもあり得ますが、作成日時と更新日時は、
「ファイルをその場所に配置した時刻」で管理するのか
「ファイルの中身を最後に更新した時刻」で管理するのかで
使い分けることになるかと思います。

たとえば、昨日作成したファイルを別のフォルダーに「コピー」した場合、
 作成日時=今日
 更新日時=昨日
となります。ただしコピーではなく「移動」した場合は、
移動前の情報を引き継ぎます。


> 現在の日付からある日数(例えば、1年)離れた場合に
> そのファイルを削除するような、プログラムを作成したいのですが

PowerShell 案
https://orebibou.com/ja/home/201610/20161007_001/
https://pig-log.com/powershell-delete-period/

cmd 案 (forfiles コマンド)
https://qiita.com/gitya107/items/a11deb3d83d8d624175c
https://windows.command-ref.com/cmd-forfiles.html

VBScript 案
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11300
https://sites.google.com/site/jfmillet40/home/vbscript/memo

VBA 案
https://www.higashisalary.com/entry/vba-kill-depen-time

.NET で組むなら
https://dobon.net/vb/dotnet/file/filetimestamp.html
https://dobon.net/vb/dotnet/file/getfiles.html