[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
批处理如果计算大数字,容易超过范围。
下面这个是VBS,支持TB计算:
  1. On Error Resume Next
  2. Dim strInput,strOutput,sngNum,strRes,strLast
  3. Do
  4.   strInput=InputBox("请输入:")
  5.   strLast=Right(Trim(strInput),1)
  6.   sngNum=Left(Trim(strInput),Len(strInput)-1)
  7.   Select Case LCase(strLast)
  8.     Case "k"
  9.       strOutput=sngNum*1024
  10.     Case "m"
  11.       strOutput=sngNum*1024*1024
  12.     Case "g"
  13.       strOutput=sngNum*1024*1024*1024
  14.     Case "t"
  15.       strOutput=sngNum*1024*1024*1024*1024
  16.   End Select
  17.   strRes=MsgBox("结果为: "&strOutput&" 字节"&vbCrLf &_
  18.     vbCrLf & "继续?",vbYesNo+vbInformation,"提示")
  19. Loop Until strRes=vbNo
复制代码

[ 本帖最后由 broly 于 2011-2-14 01:08 编辑 ]
---学无止境---

TOP

要批量?
  1. '//保存我为1.vbs
  2. On Error Resume Next
  3. Dim objArgs,strInput,strOutput,sngNum,strRes,strLast
  4. Set objArgs=WScript.Arguments
  5. If objArgs.Count=0 Then WScript.Quit
  6.   strInput=objArgs.Item(0)
  7.   strLast=Right(Trim(strInput),1)
  8.   sngNum=Left(Trim(strInput),Len(strInput)-1)
  9.   Select Case LCase(strLast)
  10.     Case "k"
  11.       strOutput=sngNum*1024
  12.     Case "m"
  13.       strOutput=sngNum*1024*1024
  14.     Case "g"
  15.       strOutput=sngNum*1024*1024*1024
  16.     Case "t"
  17.       strOutput=sngNum*1024*1024*1024*1024
  18.   End Select
  19. WScript.Echo strInput&" = "&strOutput&" 字节"
复制代码


用法:
  1. cscript /nologo 1.vbs 一个参数如1M
复制代码


批量事例:
  1. @echo off
  2. for /f "delims=" %%i in ('more +7 "%~f0"') do (
  3.   cscript /nologo 1.vbs %%i
  4. )
  5. pause&exit
  6. 1m
  7. 4k
  8. 76g
  9. 456k
  10. 8567m
  11. 45g
复制代码
1

评分人数

---学无止境---

TOP

返回列表