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

一个贴子想把所有问题解决了?

另开一个贴子罗~~~~~~~~
一路飘过的鸟~~~

TOP

本帖最后由 wh1234567 于 2011-7-2 00:21 编辑

不好意思,就这个批处理,只是只能计算8位数的,10位数或更大的就不能计算出来,显示为0

TOP

批处理能直接计算的最大值和最小值
http://bbs.bathome.net/thread-1145-1-1.html

TOP

IP有10位数的?

好像都是0-255吧,最多也只有三位数啊?
一路飘过的鸟~~~

TOP

5# HAT


你好,你能不能帮我是不是需要修改一下代码?将多行结果相加(正确为4294967296)这么大的结果却计算不出来,显示为0,不知道是啥原因

TOP

本帖最后由 wh1234567 于 2011-7-2 01:01 编辑

19# ArdentMan

10位数是指全部IP地址个数相加

TOP

楼上最好给出例子,不然我是不明白你的意思
一路飘过的鸟~~~

TOP

方法1:调用VBS计算大数
方法2:调用命令行工具计算大数
方法3:自己编写函数计算大数

TOP

本帖最后由 ArdentMan 于 2011-7-2 11:27 编辑
  1. Dim FSO, Arr1, Str1, Arr2, Str2, Arr3, Number, Total, Answer
  2. Dim Num(2)
  3. Set FSO = CreateObject("Scripting.FileSystemObject")
  4. Arr1 = Split(FSO.OpenTextFile("a.txt").ReadAll(), vbCrLf)
  5. For Each Str1 In Arr1
  6.   If Str1 <> vbNullString Then
  7.    Arr2 = Split(Str1, Space(1)) : i = -1
  8.    For Each Str2 In Arr2
  9.      i = i + 1
  10.      Arr3 = Split(Str2, ".")
  11.      Num(i) = Arr3(0) * 256 * 256 * 256 + Arr3(1) * 256 * 256 + Arr3(2) * 256 + Arr3(3)
  12.      Answer = Answer & Str2 & vbTab
  13.    Next
  14.    Number = Num(1) - Num(0) + 1
  15.    Total = Total + Number
  16.    Answer = Answer & "小计" & Number & "个" & vbCrLf
  17.   End If
  18. Next
  19. Answer = Answer & String(45, "-") & vbCrLf & "统计结果总数为:" & Total & "个"
  20. FSO.OpenTextFile ("a.txt", 2, True).Write Answer
  21. Set FSO = Nothing
  22. CreateObject("Wscript.Shell").Run("a.txt")
复制代码
一路飘过的鸟~~~

TOP

唉,拿来主义到这里完全变成了伸手主义。。。
***共同提高***

TOP

本帖最后由 wh1234567 于 2011-7-4 02:34 编辑

24# ArdentMan

有点看不懂,能不能解释一下如何使用?

TOP

本帖最后由 ArdentMan 于 2011-7-4 08:26 编辑

26# wh1234567

偶的神,存为Jisuan.vbs再双击
一路飘过的鸟~~~

TOP

26# wh1234567

真让人蛋疼。。。
***共同提高***

TOP

本帖最后由 wh1234567 于 2011-7-6 04:46 编辑

27# ArdentMan
很感谢您的二次修改,这下可以正常处理了,我在你第一次写好代码后保存为VBS后不能正常执行提示错误,所以问你如何使用,呵呵呵,不好意思啊,论坛有你们这些高手网友,相信论坛一定越办越火!
哎呀不对,小数值计算没问题,但遇到大数值计算就又出现错误了

脚本:        D:\IP段计算.vbs
行:        11
字符:        6
错误:        下标越界: '[number: 0]'
代码:        800A0009
源:         Microsoft VBScript 运行时错误

TOP

返回列表