[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 WHY 于 2019-5-21 09:24 编辑
  1. @if(0)==(0) echo off
  2. dir /b *.dat | cscript //nologo //e:jscript "%~f0" > Result.Log
  3. pause & goto :EOF
  4. @end
  5. var ms = [], us = [], ns = [];
  6. for(var i=0; i<=9; i++){ ms[i] = 0; us[i] = 0; ns[i] = 0; }
  7. var total = 0;
  8. var map = [];
  9. while(!WSH.StdIn.AtEndOfStream) {
  10.     var f = WSH.StdIn.ReadLine();
  11.     var m = f.match(/^(\d{14})\.(\d)\d\d(\d)\d\d(\d)(\d\d)-(.+)\.dat$/i);
  12.     if(!m) continue;
  13.     total++;
  14.     ms[1*m[2]]++;
  15.     us[1*m[3]]++;
  16.     ns[1*m[4]]++;
  17.     if(!map[m[1]]) map[m[1]] = [];
  18.     map[m[1]].push( [m[6], m[4] + m[5]] );
  19. }
  20. WSH.Echo('文件总数:' + total + '\r\n\r\n范围\tms次数\tus次数\tns次数');
  21. for(var i=0; i<=9; i++){
  22.     WSH.Echo(i + '00-' + i + '99\t' + ms[i] + '\t' + us[i] + '\t' + ns[i]);
  23. }
  24. WSH.Echo('');
  25. for(var key in map) {
  26.     var Len = map[key].length;
  27.     if(Len <= 1) continue;
  28.     var arr = map[key].sort(function(a,b){return a[1]-b[1]});
  29.     var min = arr[0][1];
  30.     var max = arr[Len-1][1];
  31.     WSH.Echo(key + '\t' + arr.join('\t') + '\tdiff,' + (max-min));
  32. }
复制代码

TOP

返回列表