本帖最后由 WHY 于 2019-5-21 09:24 编辑
- @if(0)==(0) echo off
- dir /b *.dat | cscript //nologo //e:jscript "%~f0" > Result.Log
- pause & goto :EOF
- @end
-
- var ms = [], us = [], ns = [];
- for(var i=0; i<=9; i++){ ms[i] = 0; us[i] = 0; ns[i] = 0; }
- var total = 0;
- var map = [];
-
- while(!WSH.StdIn.AtEndOfStream) {
- var f = WSH.StdIn.ReadLine();
- var m = f.match(/^(\d{14})\.(\d)\d\d(\d)\d\d(\d)(\d\d)-(.+)\.dat$/i);
- if(!m) continue;
- total++;
- ms[1*m[2]]++;
- us[1*m[3]]++;
- ns[1*m[4]]++;
- if(!map[m[1]]) map[m[1]] = [];
- map[m[1]].push( [m[6], m[4] + m[5]] );
- }
-
- WSH.Echo('文件总数:' + total + '\r\n\r\n范围\tms次数\tus次数\tns次数');
- for(var i=0; i<=9; i++){
- WSH.Echo(i + '00-' + i + '99\t' + ms[i] + '\t' + us[i] + '\t' + ns[i]);
- }
-
- WSH.Echo('');
- for(var key in map) {
- var Len = map[key].length;
- if(Len <= 1) continue;
- var arr = map[key].sort(function(a,b){return a[1]-b[1]});
- var min = arr[0][1];
- var max = arr[Len-1][1];
- WSH.Echo(key + '\t' + arr.join('\t') + '\tdiff,' + (max-min));
- }
复制代码
|