[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 【已解决】vbs怎么求txt文件中所有指定字符后面数字的最小值和最大值

本帖最后由 pcl_test 于 2016-8-16 20:30 编辑

vbs怎么求txt文件中所有Z后面数字的最小值和最大值?说明:Z之前有一空格,之后是数字(包括正数负数),
另外此文件大小有10M以上,下列代码只是样例。以下是123.txt文件内容
  1. G00 X103.5 Y14.218 S3500 M03
  2. G43 Z19.429 H02
  3. Z-14.477
  4. G01 Z-14.77 F1500.
  5. X102.479 Z-15.012
  6. X86.047 Y30.86 Z-15.312
  7. G03 X87.002 Y27.983 Z-16.012 I-19.052 J-.001
  8. G01 Z-50.013
  9. Z30.
  10. G01 Z-14.977 F1500.
  11. X102.479 Z-15.012
  12. X86.047 Y30.86 Z-15.012
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 3# pcl_test

运行到此句时报错MsgBox "最大"&objExcel.Max(arr)&vbCrLf&"最小"&objExcel.Min(arr)
   类型不匹配‘objExcel.Max’

TOP

找到一个JS的,速度非常快,可不知用这思路vbs能否实现
  1. path = "123.txt";
  2. fso = new ActiveXObject('Scripting.FileSystemObject');
  3. Znums = fso.OpenTextfile(path).ReadAll().match(/\bZ[-.\d]+\b/gi);
  4. Znums = Znums.join(',').replace(/Z/gi,'').split(',');
  5. Zmin = parseFloat(Znums[0]);
  6. for (i=0;i<Znums.length;i++) {
  7.     Znum = parseFloat(Znums[i]);
  8.     if(Znum<Zmin) Zmin=Znum;
  9. }
  10. Zmax = parseFloat(Znums[0]);
  11. for (i=0;i<Znums.length;i++) {
  12.     Znum = parseFloat(Znums[i]);
  13.     if(Znum>Zmax) Zmax=Znum;
  14. }
  15. WScript.Echo(Zmax + "/" + Zmin);
复制代码

TOP

回复 10# WHY


   找到一个JS的,速度非常快,可不知用这思路vbs能否实现

TOP

回复 15# 依山居


   多谢您回复,但我不会用python,不知这代码保存为什么格式,是否要编辑

TOP

返回列表