• vbs脚本总结


    1.  msgbox语法:msgbox "对话框","对话框标题"

                例:const hw="Hello World!"

                       msgbox(hw)

    2.  Dim 定义变量,vbs只有一种变量,所以不用声明变量。

    3.  Inputbox("对话框内容","对话框标题")

              例:Dim name

                    name=Inputbox("请输入您的名字","名称")

                    Msgbox  name,"您的名字是"

    4.  所有的单引号后面的内容为注释内容。

    5.  变量转化:

                Cbool函数: 变量-->布尔值

                Cbyte函数:变量-->0到255之间的整数

                Ccur、Cdbl、Csng:变量-->浮点数值(Ccur精确到后四位)

                Cdate :变量-->日期值

                Cint、Clng:变量-->整数

                Cstr:变量-->字符串

    6.  数组:数组下标从0开始

              例:arr=array("t1","t2","t3")

                 For i=0 To UBound(arr)-LBound(arr)

                       msgbox arr(i)

                  Next

               注:UBound最大可用下标,LBound最小可用下标

    7.  split函数:切割字符串

               split("VBScriptXisXfun","X",-1,1)    '-1返回所有子串,1:文本比较;0:二进制比较

    8.  Join函数:返回一个字符串,此字符串由包含在数组中的子字符串连接创建

                    arr=array("t1","t2","t3")

                   Msgbox Join(arr,",")

    9.  循环体:do -exit   do -loop

             例: Dim a,ctr

                   ctr=0

                   const pass="pass123"

                   Do while ctr<3

                       a=Inputbox("请输入密码")

                       if a=pass then

                            msgbox("认证成功")

                            exit Do

                       Else

                         ctr=ctr+1

                         msgbox("认证出错,请检查密码")

                      End if

                  loop         

    10.  &用于连接字符串

          vbcrlf相当于键盘的回车键

    12.  子程序:1)没有返回值 ;2)使用sub关键字定义;3)通过call调用

             例:Dim yname

                   yname=inputbox("请输入你的名字")

                   call who(yname)

                   sub who(cname)

                      msgbox("您好"&cname)

                   end sub

    12. 函数:function(param1,param2)       end function

                 例:function co(t1,t2)

                         if t1>t2 then

                           co=t1

                        elseif t2>t2 then

                         co=t2

                       end if

                      end function

                     msgbox co(12,14)   '调用函数

    13.  对象

          ①Scripting.FileSystemObject :文件系统操作函数

          ②Scripting.Dictionary:键值对

          ③Wscript.Shell:读取系统信息的函数

          ④Wscript.Network:提供网络连接和远程打印管理的函数

             例:set objshell=CreateObject("Wscript.shell")

                 objshell.Run "Notepad"

               注:notepad:记事本 ; calc 计算器; winword  word文档

    14.  错误信息提示

           On Error Resume Next

               a=11

               b=0

              c=a/b

             if err.number<>0 then

               Wscript.echo err.number & err.description & err.source

             end if

          错误 err 有2个方法,5个属性.

               方法:clear  、raise

               属性:description、number、source、helpfile、helpcontext

    15.   文件夹操作:

            ①创建:

                   Dim fs,s

                   Set fs= CreateObject("Scripting.FileSystemObject")

                  if(fs.folderexists("d: emp")) then

                     s="is avallable"

                  else

                       s="not exist"

                       set foldr=fs.CreateFolder("d: emp")  '不存在则建立

                  end if

          ②删除:

                  fs.deletefolder("d: emp")

          ③拷贝:fs.copyfolder "d: emp","e: emp",true

          ④移动:fs.morefolder "d: emp","e: emp"

    16.   特殊文件夹

          例:set fs=WSCript.CreateObject("Scripting.FileSystemObject")

               set wfolder=fs.getSpecialfolder(0)  '返回windows目录

               set wfolder1=fs.getSpecialfolder(1)  '返回system

               set wfolder2=fs.getSpecialfolder(2)  '返回临时目录

           特殊功能键:

               shift ->+

               ctrl -> ^

               alt ->%

    17.   文件属性

                0:普通文件

                1:只读文件

                2:隐藏文件

                4:系统文件

                16:文件夹或目录

                32:存档文件

                1024:连接或快捷方式

    18.  读文件

               read(X) :读取x个字符

               readline:读取一行

               readall:全部读取

           例:set fs=CreateObject("Scripting.FileSystemObject")

                set file=fs.opentextfile("c:/1.txt",1,true)   '1为只读 ,2为写入,8为追加

               value=file.read(20)

               line=file.readline

               all=file.readall

    19.  写文件 

               write(X):写入x个字符

               writeline(x):写入行

               writeblanklines(n): 写入n个空行

              读文件关闭后,才能以写的方式打开,打开后,2为写入,8为追加写入

    20.    指针变量: atendofstream:当处于子文件结尾的时候,这个属性返回true,一般用循环检测是否到达文件尾。

              例:do while file.atendogstream <>true

                    file.read(10)

                    loop

             atendoline:如果到了行末尾,返回true。

             skip(x) 跳过x个字符

             skipline  跳过一行

    21.    mid函数:从字符串中返回指定个数的字符。

              mid(string,start[,length])

              例: Dim a=Mid("This is a beautiful day!",1,11)  'This is a b

            Right("I like it",3) '从右边开始截取3个字符

            left("I like it",3)  '从左边开始截取3个字符

            Lcase("NOHNH") '大写转换成小写

            Ucase("oracle")   '小写转换成大写

    22.   for-next  循环

               例:Dim i

                     For i=0 To 9

                      msgbox(i)

                      Next

    23. for each ...in next 循环

         例:a=array("1","2","3")

               for Each i In a

                  msgbox i

               next

    24. while  ... wend 循环

          例: Dim counter

               counter=0

               while counter<20

                     counter=counter+1

               msgbox counter

              wend

    25.  option Explicit 强制要求显示声明脚本中的所有    

    26.  instr函数:返回某字符串子在另一字符串中第一次出现的位置。例: my=Instr(4,"xxpxxpxxPx","P",1)  '在位置4进行文本比较,返回6

          instrB:返回字节位置

          replace 替换:replace("xxpxxpxxp","p","Y")  '把p换成Y

          space :my string="Hello"&space(10)&"World"  '在两个字符中插入10个空格

          strReverse:逆反  my  ms=strReverse("VBSctipt")   'tpitcSBV

          InstrRev:返回某字符串在另一字符串中出现的从结尾记起的位置。 例:my=InsrtRev("XXpXXpXXPXXP","P",10,0) '从第10个位置起向前搜索,第9位

          strcomp :my comp=strcomp("ABCD","abcd",1)

                        返回值:-1: str1<str2

                                   0: str1=str2

                                   1: str1>str2

                                 null: null

    27.   Ltrim:不带前导空格

            Rtrim:不带后续空格 

            Trim:前导后续都不带

            isEmpty():判断变量是否初始化,是返回ture,否则返回false。当变量为null时,返回false。

            isNull():指表达式是否包含任何有效数据,为null,返回为ture。

            isNumeric():是否为数字

            isObject():是否引用了有效的automation对象

            TypeName():返回字符串,提变量的vaviant子类型信息。例:mytype=TypeName("VBSCript")  '返回"String"

            varType():返回 变量子类型。例:my=varType(300)   '返回2,代表整数

     28.  键值对 removeAll :删除所有

                    例:set  args_dic =createObject("Scripting.Dictionary")

                           args_dic.Add "1","老样"

                           args_dic.Add "1","老林"

                           args_keys=args_dic.keys

                           args_values=args_dic.Items

                           for i=0 To args_dic.Count-1

                           WSCript echo "keys:"&args_keys(i)&"values:"&args_values(i)

                          Next

                          WSCript echo "keys:values"&args_dic.Item("1")

                     删除单个:args_dic.remove("2")

                     判断是否存在:args_dic.exists("3") 

    29.    DatePart  日期函数

          例: my_date1=DateAdd("d",-1,Date)  '取当前时间的前一天

                 mydate2=DatePart("yyyy",my_date1)&"-"&Right("0")&DatePart("m",my_date1,2)&"-"&Right("0")&DatePart("d",my_date1,2)

                 注:yyyy  ->年  ;q -> 季度; m->月;y->一年的日数;d->日;ww->周; h->小时;n->分钟;s->秒。

     30.  获取第一个cpu对象:

               set objproc=GetObject("winmgmts:\. ootcimv2:win32-processor='cpu0'")

               icpu=objproc.LoadPercentage '获得cpu的使用率。

        

                

                

  • 相关阅读:
    栈与递归
    细说二叉树的删除操作
    二叉树
    链表队列
    数组队列
    链表栈
    c语言实现数组栈
    c语言实现双链表
    HDU 4557 非诚勿扰(Treap找后继)
    POJ 3481 Double Queue(Treap模板题)
  • 原文地址:https://www.cnblogs.com/resie/p/4514907.html
走看看 - 开发者的网上家园