フォロトップ:この会議室が所属するフォロのトップページへ移動します 会議室トップ:この会議室のトップページへ移動します トピック一覧:この会議室内のトピックを一覧表示します おすすめレビュー:この会議室に関連付けられたレビューを一覧表示します 発言者一覧:この会議室に発言したことのあるメンバーを一覧表示します 会議室に参加:この会議室への参加登録が出来ます
文字サイズ変更: [] [] []
お目当てのフォロへGO! 
オフィシャル
エンタメ
スポーツ
文化・趣味
コンピュータ
くらしと健康
芸術・学問
ビズと社会
地域・年代
ノンジャンル


2008年06月10日
14:16
【85】  フォルダ内のファイル一覧取得について
お世話になります。先日も質問させて頂きましたが、バッチに関し、また壁にぶちあたってしまったので質問させて頂きます。
・やりたい事
 →あるフォルダの中にあるファイルの作成日付を取得し、バッチを流した  日付とそのファイルの作成日付を比較して、バッチを流した日付よりも
  作成日時が古い場合、該当のファイルを移動する
・やったこと
 →バッチコマンドで作成日付取得はムリと判ったので、WSHでobjFSO.G
etFile(ファイル名)で取得
  Date関数の結果(時間まで入ってくるのでYYYYMMDDの形に分離)
  より比較を実施。

・質問
 →上記ではあくまでも該当のファイルが一つなので、比較は行えました   が、フォルダ内に比較したいファイルが幾つあるかは不明の為、
   フォルダ内のファイル一覧を作成し、その一覧より1個ずつ比較する
   必要があります。そのやり方についてアドバイスがあればお願いいた   します。具体的にはIISのログの話ですが、exyymmdd.logの形でログ
   が保存されます。何もしないとそのフォルダに延々とログが蓄積され
   ていきますが、それに伴うディスク圧迫を防ぎたいのです。
   exyymmdd.logの作成日付とバッチ処理日時を比較して、exyymmdd.l
   ogが古ければ(1日以前)目的のフォルダに移動したいのです。

長々となってしまいましたが、宜しくお願い致します。
コメント
2008年06月10日
14:22
補足です。

ObjFSO.GetFile(ファイル名)で作成日時が取得できますが、時間まで入ってくるので、
YYYYMMDDの形に分離するのが正しいです。
Date関数の結果は、YYYY/MM/DDですね。。
2008年06月10日
16:30
83番のトピックで私やラシャンさんがかいたスクリプトの意味を理解されていないのですか?
一般に、自分が理解できないコマンドをを実行するのは危険ですよ。自分の希望と書いた人の意図が違っている可能性があるので。

該当全ファイルについての繰り返しは、for %%A in (ex*.log) do ....

そもそも、exyymmdd.log のyymmddの部分は日付になるんじゃないのですか?それならトピック83と同じやり方で出来ると思いますが、何か違いますか?

あと、なぜ作成日付を使おうとするんでしょうか?更新日付ならバッチスクリプトで取れますけど。
2008年06月11日
14:41
otnさん、失礼しました。また、返信が遅れまして申し訳ありません。
今後は良く調べから質問させて頂きます。
何故、更新日付ではなく作成日付かと言いますと、これも言葉足らずで恐縮ですが、
IISのログは日付が変わる度に新しいログが作成されます。IISログでは更新日付と
バッチ処理日付を比較してバッチ処理日付より古ければ移動すれば良いですが、
IISログ以外のログでは、日付が変わっても同じファイルに更新を行う物もある為、
作成日付とバッチ処理日付を比較して処理を行う必要が出てきます。
バッチ処理日付よりも1日前の物をバックアップしたいので、更新日付だとバッチ処理日付と更新日付が同一日になり、バックアップされないという事になってしまいます。
(また、作成日で比較してくれという要件がある為でもあります)
すべて表示 1番~3番を表示
 コメントするにはfolomyへの会員登録ならびにログインが必要です。 folomyに入会する
ログインする(すでに登録済みの方)
----