前提・実現したいこと
OS:windows2012R2
サービスaを実行すると「C:\temp\log」配下に「A_YYYYMMDD_?.log」ファイルが生成されます。
※基本的に1ファイルですが、複数作成される場合が有ります。
サービスが起動すると同時に「C:\temp\log」配下に「A_YYYMMDD_?.log」が作成され、ログ出力が開始されます。
ログの出力処理が終わっても、サービスは自動で停止しない為、ファイルの最終更新時間から5分経過した事を判定し「\NAS\log」配下に当日生成した全ての「A_YYYMMDD_?.log」ファイルをコピーするbatを作成したいです。
以下のフローを想定して作成しています
①当日の「A_YYYMMDD_?.log」ファイルのタイムスタンプを抜き出す。
②「A_YYYMMDD_?.log」ファイルの最終更新時間が5分経過している事を判定
③経過していない場合は②へ。経過した場合は④へ。
④当日の「A_YYYMMDD_?.log」全ファイルをNASにコピーする。
①~③の処理構想が出来なく、困っております。ご助力をお願い致します。
発生している問題・エラーメッセージ
最終更新時間から5分経過したファイルの判定方法処理が自身の能力不足により、作る事が出来ませんでした。
フォルダの構成は以下の様なイメージです。
C:\temp\log
A_20210412_0.log
A_20210412_1.log
A_20210412_2.log
該当のソースコード
①当日ファイルのタイムスタンプを抜き出す。
)案1
forfiles /d %DATE%' -c "cmd /c echo @ftime"
②ファイルの最終更新時間から5分経過している事を判定
③経過していない場合は②へ。経過した場合は④へ
→②③構想が出来なくコードの作成が出来ておりません。
④当日の「A_YYYYMMDD_?.log」全ファイルをNASにコピーする。
FOR /F %i in ('forfiles /d %DATE%') do copy /Y %i \NAS\log
試したこと
ネット上で過去の事例など検索しましたが、近しい事象が確認できず、こちらに記載させて頂きました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー