- 締切済み
バッチファイルでファイル数計算
現在仕事で一日に大量のファイルが作成され、それの集計を行っています。ですので、そのファイルの集計を行えるバッチファイルを作成していますが、思ったものができません。 特定のファイル数の集計は行えるのですが、作成された時間おきに集計できるようにしたいんです。 例えば、 9:00に2ファイル作成された バッチファイル実行→ログには9:00分が出力 (ファイル名及びファイル数2がログとして出力) 10:00には50ファイル作成された バッチファイル実行 ↓ ログに以下が出力 9:00に出力分 10:00に出力分(ファイル名及びファイル数が50としてログ に出力) このようなことをバッチファイルで作成する事は無理でしょうか? ご助言宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10359)
#1です。ファイル名に日時があるとのことなので抽出が楽になります。4/25の16時台に実行すると、ファイル名が、???-05042515????.csv の物を抽出します。ログにはファイル名一覧と最後に時刻・個数を書きます。 @echo off set LOGFILE=\logfolder\logfile.txt cd \datafolder rem 1時間前の日時を求める echo WScript.Echo DateAdd("h",-1,Now()) >tmp.vbs for /f "tokens=1-4 delims=/-: " %%A in ('cscript //nologo tmp.vbs') do set X=%%A%%B%%C%%D del tmp.vbs rem ファイルを探してログに書く set CNT=0 for %%F in (???-%X:~2%????.csv) do ( set /a CNT+=1 echo %%F>>%LOGFILE% ) echo >>%LOGFILE% %X% FileCount=%CNT%
- notnot
- ベストアンサー率47% (4900/10359)
>このようなことをバッチファイルで作成する事は無理でしょうか? (Q1)OSはWindowsですよね?種類はなんでしょう? (Q2)やりたいことはどちらでしょう? (A) 毎時00分に何らかの処理が動いてファイルが幾つか作成される。その処理に引き続いて、ファイル集計処理のバッチを動かしたい (B) 随時どんどんファイルが作られる。9:00-9:59に作られたファイル、10:00-10:59に作られたファイルというような集計がしたい (Q3)対象はとある特定のフォルダの中だけでいいでしょうか?
補足
早速の返信有難う御座います >(Q1)OSはWindowsですよね?種類はなんでしょう? winsows2000です。 >(Q2)やりたいことはどちらでしょう? >(A) 毎時00分に何らかの処理が動いてファイルが幾つか作>成される。その処理に引き続いて、ファイル集計処理のバ>ッチを動かしたい >(B) 随時どんどんファイルが作られる。9:00-9:59に作ら>れたファイル、10:00-10:59に作られたファイルというよ>うな集計がしたい (B)です。補足としましては、作成された日付と時間がファイル名として作成されます。 ファイル名は***-05042117****.csv という形で作成されます。 >(Q3)対象はとある特定のフォルダの中だけでいいでしょう>か? はい。フォルダ内に作成されるファイルです。 ファイル名は***-05042117****.csv という形で出力されます。 宜しくお願い致します。