[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 zaqmlp 于 2019-12-4 19:09 编辑
  1. <# :
  2. cls
  3. @echo off
  4. set info=互助互利,支付宝扫码头像,感谢赞助
  5. title %info%
  6. set "rootpath=%~dp0"
  7. if "%rootpath:~-1%" equ "\" (set "rootpath=%rootpath:~,-1%")
  8. cd /d "%rootpath%"
  9. powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%rootpath%'"
  10. echo;%info%
  11. pause
  12. exit
  13. #>
  14. $ago=-1;
  15. $today=get-date;
  16. $agotime=get-date ($today.adddays($ago).toString('yyyy-MM-dd')+' 06:00:00');
  17. $newfolder=$args[0]+'\#result';
  18. if(-not (test-path -liter $newfolder)){[void](md $newfolder -force)};
  19. $files=@(dir -liter $args[0]|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
  20. for($i=0;$i -lt $files.length;$i++){
  21.     write-host $files[$i];
  22.     [System.Collections.ArrayList]$list=@();
  23.     $dic=New-Object 'System.Collections.Generic.Dictionary[string,Object]';
  24.     $text=[IO.File]::ReadAllLines($files[$i].FullName,[Text.Encoding]::Default);
  25.     for($j=0;$j -lt $text.count;$j++){
  26.         if($text[$j].Contains('[ 档案')){
  27.             $arr=$text[$j].trim() -split '时间:';
  28.             if($arr[1] -ne ''){
  29.                 $dt=get-date $arr[1];
  30.                 if($dt -ge $agotime){
  31.                     $line=$text[$j].trim().replace('ID:','') -replace ' \[ 档案  上传|\] 文件:\(|\) 次数:| 时间:',',';
  32.                     $brr=$line.split(',');
  33.                     if(-not $dic.ContainsKey($brr[0])){
  34.                         $crr=@{
  35.                             '100001'=@{'成功'=0;'失败'=0};
  36.                             '100002'=@{'成功'=0;'失败'=0};
  37.                             '100003'=@{'成功'=0;'失败'=0};
  38.                             '100004'=@{'成功'=0;'失败'=0}
  39.                         };
  40.                         $dic.add($brr[0], $crr);
  41.                     }
  42.                     $dic[$brr[0]][$brr[2]][$brr[1]]++;
  43.                     [void]$list.add($line);
  44.                 };
  45.             };
  46.         };
  47.     };
  48.     [IO.File]::WriteAllLines($files[$i].FullName, $list, [Text.Encoding]::Default);
  49.    
  50.     $newfile=$newfolder+'\'+$files[$i].BaseName+'_'+$today.toString('yyyy-MM-dd')+'_结果.txt';
  51.     [System.Collections.ArrayList]$list=@();
  52.     foreach($a in $dic.Keys){
  53.         $b=$dic[$a]['100001']['成功']+$dic[$a]['100001']['失败']+$dic[$a]['100002']['成功']+$dic[$a]['100002']['失败'];
  54.         $line=$a+'上传100001成功'+$dic[$a]['100001']['成功']+'次,失败'+$dic[$a]['100001']['失败']+'次;上传100002成功'+$dic[$a]['100001']['成功']+'次,失败'+$dic[$a]['100001']['失败']+'次,共上传'+$b+'次';
  55.         [void]$list.add($line);
  56.         $c=$dic[$a]['100003']['成功']+$dic[$a]['100003']['失败']+$dic[$a]['100004']['成功']+$dic[$a]['100004']['失败'];
  57.         $line=$a+'上传100003成功'+$dic[$a]['100003']['成功']+'次,失败'+$dic[$a]['100003']['失败']+'次;上传100004成功'+$dic[$a]['100004']['成功']+'次,失败'+$dic[$a]['100004']['失败']+'次,共上传'+$c+'次';
  58.         [void]$list.add($line);
  59.         if($b -eq 0){
  60.             [void]$list.add($a+'上传100001、100002零次');
  61.         }else{
  62.             $d=$dic[$a]['100001']['成功']+$dic[$a]['100002']['成功'];
  63.             if($d -eq 0){
  64.                 [void]$list.add($a+'上传100001、100002完全失败');
  65.             }else{
  66.                 [void]$list.add($a+'上传100001、100002'+$b+'次,成功'+$d+'次,结余'+($b-$d*3));
  67.             };
  68.         };
  69.         if($c -eq 0){
  70.             [void]$list.add($a+'上传100003、100004零次');
  71.         }else{
  72.             $d=$dic[$a]['100003']['成功']+$dic[$a]['100004']['成功'];
  73.             if($d -eq 0){
  74.                 [void]$list.add($a+'上传100003、100004完全失败');
  75.             }else{
  76.                 [void]$list.add($a+'上传100003、100004'+$c+'次,成功'+$d+'次,结余'+($c-$d*3));
  77.             };
  78.         };
  79.     };
  80.     [IO.File]::WriteAllLines($newfile, $list, [Text.Encoding]::Default);
  81. }
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

返回列表