- PR -

ファイル更新日付が過去3ヶ月前以上のファイルを削除したい

1
投稿者投稿内容
勘助
会議室デビュー日: 2002/11/10
投稿数: 14
投稿日時: 2007-06-25 15:39

件名の動作をDOSコマンド、もしくは、スクリプトで実行したいと思ってます。
可能でしょうか?
可能な場合、サンプルでもよいのでご教授頂けると助かります。
自分でもネットで調査したのですが、なかなか該当ページに辿り着けません(涙)
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-06-25 16:01
引用:

勘助さんの書き込み (2007-06-25 15:39) より:

可能な場合、サンプルでもよいのでご教授頂けると助かります。
自分でもネットで調査したのですが、なかなか該当ページに辿り着けません(涙)


そのままの答えはないかもしれませんが、たとえば 「WSH タイムスタンプ」 でまず "過去 3 ヶ月以上前" をクリア。「WSH ファイル 削除」 で "ファイルを削除したい" をクリア。といった解決方法があるでしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
勘助
会議室デビュー日: 2002/11/10
投稿数: 14
投稿日時: 2007-06-26 00:06
やはり、DOSでは無理でWSHを利用することになりますか。
削除する前にバックアップをxcopyでアーカイブ属性を判断し取得しております。
ですので一連の操作を出来ればDOSで思った次第です。
最近、PowerShellなるものが登場しておりますが、どこまでどういうことが
できるのか、いまだ情報などが不足しておりわかりません。
せっかくなの新しいPowerShellでも実現できないものかと模索しております。
saki1208
ベテラン
会議室デビュー日: 2006/08/22
投稿数: 86
投稿日時: 2007-06-26 00:38
saki1208です。

PowerShellならこんな感じでしょうか?

コード:


CD ./HOGE
foreach($delFile in (get-Item * | Where { $_.LastWriteTime -lt (Get-Date).AddMonths(-3) })){
remove-Item $delFile
}



テストはしてませんが...
# もっとスマートに書けそうな気もします。

[ メッセージ編集済み 編集者: saki1208 編集日時 2007-06-26 00:40 ]

[ メッセージ編集済み 編集者: saki1208 編集日時 2007-06-26 00:42 ]
勘助
会議室デビュー日: 2002/11/10
投稿数: 14
投稿日時: 2007-06-26 22:08
すごいぞ、PowerShell。
こんな簡単な構文で実現できるんだぁーーー。。。
早速、環境を整えてテストしてみたいと思います。
要件通りに動作したのかについての結果を後日、掲載したいと思います。

1

スキルアップ/キャリアアップ(JOB@IT)