D:\Work\temp\内に1M、5M、10Mのファイルがあり、
ファイル毎のコピー時間を計測するバッチを作りたいのです。
一応、下記のバッチで変数path_1の1M-file.datのところを一回一回書き換えれば
できますが、もっと効率よくループを使って書けないものでしょうか?
コピーに要する時間の計測については、単純ですが、開始時刻と終了時刻を
ログに記述し、後ほど、終了時刻-開始時刻で自分で求めます。
@echo off rem 変数セット set path_1=D:\Work\temp\1M-file.dat set path_2=\192.168.1.1\testdir\ set Log_paht=\192.168.1.1\logs\ set Log_filename=copy- rem 開始時刻設定 set S_date_tmp=%date:/=% set S_time_tmp=%time: =0% set yyyy=%S_date_tmp:~0,4% set yy=%S_date_tmp:~2,2% set mm=%S_date_tmp:~4,2% set dd=%S_date_tmp:~6,2% set hh=%S_time_tmp:~0,2% set mi=%S_time_tmp:~3,2% set ss=%S_time_tmp:~6,2% set sss=%S_time_tmp:~9,2% set S_datetime=%yyyy%%mm%%dd%%hh%%mi%%ss% rem ログ・ファイル作成。ファイル名にタイムスタンプ(開始時刻付与) echo Start-Time %S_datetime% > %Log_path%%Log_filename%-%S_datetime%.log rem コピー開始 copy %path_1% %path_2% >> %Log_path%%Log_filename%-%S_datetime%.log echo コピー中 rem 終了時刻設定 set E_date_tmp=%date:/=% set E_time_tmp=%time: =0% set yyyy=%E_date_tmp:~0,4% set yy=%E_date_tmp:~2,2% set mm=%E_date_tmp:~4,2% set dd=%E_date_tmp:~6,2% set hh=%E_time_tmp:~0,2% set mi=%E_time_tmp:~3,2% set ss=%E_time_tmp:~6,2% set sss=%E_time_tmp:~9,2% set E_datetime=%yyyy%%mm%%dd%%hh%%mi%%ss% rem 終了時刻をログ・ファイルに追記 echo End-Time %E_datetime% >> %Log_path%%Log_filename%-%E_datetime%.log
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/05/13 07:09 編集
2018/05/13 07:09
退会済みユーザー
2018/05/13 08:28
2018/05/13 11:11 編集
退会済みユーザー
2018/05/14 14:40
2018/05/15 02:25