[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 WHY 于 2019-9-12 16:22 编辑
  1. @if(0)==(0) echo off
  2. cd /d "D:\se"
  3. :LOOP
  4. for /f %%i in ('WMIC OS get LocalDateTime ^| findstr [0-9]') do set "dt=%%i"
  5. dir /b /a-d /od *.txt | cscript //nologo //e:jscript "%~f0" >> ".\se\wltj%dt:~0,6%.txt"
  6. goto :LOOP
  7. pause & exit /b
  8. @end
  9. var fso = new ActiveXObject('Scripting.FileSystemObject');
  10. var arr = ['100M', '请求', '无法', 'unreach', '一般', 'failure'];
  11. var ip = [], jh = [], re = /B.../ig;
  12. var objFile = fso.OpenTextFile('.\\se\\ipref.txt', 1);
  13. while(!objFile.AtEndOfStream){
  14.     var s = objFile.ReadLine();
  15.     var m = s.match(/^ping\S*/i);
  16.     if( !m ) continue;
  17.     while( a = re.exec(s) ){ var k = a[0].toUpperCase(); if(!ip[k])ip[k] = m; }
  18. }
  19. objFile.Close();
  20. var objFile = fso.OpenTextFile('.\\se\\jhref.txt', 1);
  21. while(!objFile.AtEndOfStream){
  22.     var s = objFile.ReadLine();
  23.     var m = s.match(/^jh\S*/i);
  24.     if( !m ) continue;
  25.     while( a = re.exec(s) ){ var k = a[0].toUpperCase(); if(!jh[k])jh[k] = m; }
  26. }
  27. objFile.Close();
  28. while( !WSH.StdIn.AtEndOfStream ){
  29.     var f = fso.GetFile( WSH.StdIn.ReadLine() );
  30.     if( !/^B....*\.txt$/i.test(f.Name) ) continue;
  31.     var dt = new Date( f.DateLastModified );
  32.     var s1 = dt.toLocaleString();                        //第1列
  33.     var s2 = f.Name.substr(0,4).toUpperCase();           //第2列
  34.     var s3 = ip[s2] ? ip[s2] : '-';                      //第3列
  35.     var s4 = jh[s2] ? jh[s2] : '-';                      //第4列
  36.     var s5 = getFileData(f.Path);                        //第5-11列
  37.     WSH.Echo(s1 + '\t' + s2 + '\t' + s3 + '\t' + s4 + '\t' + s5);
  38.     if(fso.FileExists(f.Path)) f.Delete();    //删除文件
  39. }
  40. function getFileData(fPath){
  41.     var map = [], s = '', total = 0;
  42.     for(var i in arr) map[arr[i]] = 0;
  43.     var reg = new RegExp(arr.join('|'), 'ig');
  44.     var objFile = fso.OpenTextFile(fPath, 1);
  45.     var str = objFile.ReadAll();
  46.     objFile.Close();
  47.     while( a = reg.exec(str) ) map[a[0]]++;
  48.     for(var i=0; i<arr.length; i++){ s += map[arr[i]] + '\t'; if(i>0)total += map[arr[i]]; }
  49.     return s + total;
  50. }
  51. WScript.Sleep(20 * 1000); //延时20s
复制代码

TOP

回复 6# zrf0123


    已修改。
如果不需要循环,删除第 57 行、第 6 行、第 3 行。

TOP

回复 14# zrf0123


    好的,已回复。

TOP

返回列表