Board logo

标题: 【有偿】自动更新EX表格工具 [打印本页]

作者: z1366870839    时间: 2020-5-6 17:02     标题: 【有偿】自动更新EX表格工具

本帖最后由 z1366870839 于 2020-5-6 17:10 编辑

比如我几十个txt文本在几台虚拟机里面
想要自动列出来统计数据后保存表格自动存放到与物理机共享里面的一个ex表格里【每天定时更新这样(比如设置中午十二点更新一次,第二天中午十二点更新一次)】
可以的话来加我Q:905653371(备注bat之家)

比如
文本A(        =TAB)
1111        200        abcd        17.97 23.74 16.4 2.73
1111        200        abcd        17.97 23.74 16.4 2.73
文本B(        =TAB)
1111        201        abcd        17.97 23.74 16.4 2.73
1111        201        abcd        16 23 16.14 2.73
在EX表格里面会保存
每一行保存
200  35.94 47.48 32.8 5.46
201  33.97 46.74 32.54 5.46
后面四个数值要当前文本内的每一竖的都相加,不能A文本呢样举例:17.97+23.74,正确应该是17.97+17.97
作者: zaqmlp    时间: 2020-5-6 18:25

  1. <# :
  2. cls
  3. @echo off
  4. cd /d "%~dp0"
  5. powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~dp0'"
  6. pause
  7. exit
  8. #>
  9. $path=$args[0];
  10. $outfile=$path+'xxx.csv';
  11. [System.Collections.ArrayList]$s=@();
  12. $files=@(dir -liter $path -recurse|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
  13. for($i=0;$i -lt $files.length;$i++){
  14.     $text=[IO.File]::ReadAllLines($files[$i].FullName,[Text.Encoding]::Default);
  15.     $tmp=@('',0,0,0,0);
  16.     for($j=0;$j -lt $text.count;$j++){
  17.         $arr=$text[$j] -split '\t';
  18.         $tmp[0]=$arr[1];
  19.         $tmp[1]+=(1*$arr[3]);
  20.         $tmp[2]+=(1*$arr[4]);
  21.         $tmp[3]+=(1*$arr[5]);
  22.         $tmp[4]+=(1*$arr[6]);
  23.     };
  24.     $line=$tmp -join ',';
  25.     [void]$s.add($line);
  26. };
  27. [IO.File]::WriteAllLines($outfile, $s, [Text.Encoding]::Default);
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2