set str=%date:~0,4%%date:~5,2%%date:~8,2%
1970年1月1日であれば「19700101」を出力。
%dateではyyyy/mm/ddとなるため、/を除いた文字列を取ります。
「%hoge:~x,y」で、hogeのx番目の文字列からy文字取得します。
set time2=%time: =0% set str:%time2:~0,2%%time2:~3,2%%time2:~6,2%
0時12分03秒であれば「001203」を出力します。
日付と同じ要領ですが、%timeは上記の時刻であれば「 0:12: 3」と10秒未満は十の位を空白で返してしまい、そのままだと「 012 3」を出力してしまいます。
別の変数を使って空白を0に置換した上で取り出す処理を行います。