精华内容
下载资源
问答
  • VBS脚本

    2018-12-14 20:45:44
    goto start 格式改为.vbs 无限打开CMD窗口 任务管理器可以关闭 NO2. 在txt文档编辑 do dim a a=“从我见到你的第一眼开始” msgbox a dim b b=“我就喜欢你了” msgbox b dim c c=“做我女朋友吧” msgbox c dim d d...

    NO1.
    在txt文档编辑
    :start
    start cmd
    goto start
    格式改为.vbs
    无限打开CMD窗口
    任务管理器可以关闭

    NO2.
    在txt文档编辑
    do
    dim a
    a=“从我见到你的第一眼开始”
    msgbox a
    dim b
    b=“我就喜欢你了”
    msgbox b
    dim c
    c=“做我女朋友吧”
    msgbox c
    dim d
    d= “给你买房买车买包包”
    loop:
    格式改为.vbs
    用于表白恶搞,do loop为无限循环
    任务管理器可以关闭

    NO3.
    在txt文档编辑
    Option Explicit
    On Error Resume Next
    Dim answer
    Dim WshShell
    set WshShell = CreatObject (“wscript.Shell”)
    WshShell.Run “Shutdown -f -s -t 60 -c 输入’我要做你女朋友’,否则60秒后关机~”,0
    Do While answer <>“我要做你女朋友”
    answer=InputBox(“输入’我要做你女朋友’, 否则60秒后关机~”,“哈哈”,7000,5000)
    Loop
    WshShell.Run “Shutdown-a”,0
    MsgBox “我是你XXX”,“哈哈,你好”
    格式改为.vbs
    在别的地方看到的表白方式,自己摸索着做的
    任务管理器可以关闭

    小白一只,就是爱自学.
    弱者无法连死亡都无法选择.
    每天学习一点点,
    只求比昨天进步一点点

    展开全文
  • VBScript语言提供了两个语句和一个对象来处理"运行时错误",如下所示:On Error Resume Next语句On Error Goto 0语句Err对象简单介绍一下On Error Resume Next,On Error Goto 0,Err这三者On Error Resume Next语句...

    VBScript语言提供了两个语句和一个对象来处理"运行时错误",如下所示:

    On Error Resume Next语句

    On Error Goto 0语句

    Err对象

    简单介绍一下On Error Resume Next,On Error Goto 0,Err这三者

    On Error Resume Next语句和On Error Goto 0语句指明了当出现"运行时错误"时的处理方式。

    当加上On Error Resume Next语句后,如果后面的程序出现"运行时错误"时,会继续运行,不中断。

    当加上On Error Goto 0语句后,如果后面的程序出现"运行时错误"时,会显示"出错信息"并停止程序的执行。

    Err对象保存了“错误信息”

    下面结合例子讲解On Error Resume Next,On Error Goto 0,Err这三者

    没有加上On Error Resume Next语句

    如果没有加上On Error Resume Next语句,当出现"运行时错误"时,会显示"出错信息"并停止程序的执行.

    举例(/test.asp文件):

    i = 1/0 '0作除数,产生"运行时错误",显示"出错信息"并停止程序的执行Response.Write "除法执行后" '这句话将不会执行%>

    结果:

    Microsoft VBScript. 运行时错误 错误 '800a000b'

    被零除

    /test.asp,行 2

    加上On Error Resume Next语句

    当我们在某处加上On Error Resume Next这条语句后,随后的程序即便出现"运行时错误"时,也不会显示"出错信息",并且会继续运行下去.

    举例:

    On Error Resume Next '后面的程序即便出现"运行时错误"时,也会继续运行i = 1/0 '0作除数,这是一种"运行时错误",但因为有了上面On Error Resume Next这句话,所以不会中断执行,而是会继续运行下去Response.Write "除法执行后" '这句话将会执行%>

    结果:

    除法执行后

    加上On Error Resume Next语句后,使用Err对象来得到错误信息

    使用了On Error Resume Next之后,如果出错,那么Err对象中将放置最近一次出错的信息。

    Err对象重要的属性有三个:Number, Source, Description。分别是错误号,错误来源,错误描述。

    你能捕获的都是运行时错误,而且If Err then这样的写法等价于If Err.Number then

    Dim ii = 1/0 '第一个错误undefined_function "test" '第二个错误,函数undefined_function未定义Response.Write Err.Description

    运行结果:

    类型不匹配

    可以看到,提示的并不是被零除

    使用On Error Goto 0 语句,让系统重新接管错误的处理

    加上On Error Resume Next语句后,后面的程序即便出现"运行时错误"时,也会继续运行.可是如果希望后面的程序出现"运行时错误"时停止执行并显示错误,该怎么做呢?

    答案是:使用On Error Goto 0 语句

    使用 On Error Goto 0 这条语句后,后面的程序一旦有错误发生就会提示错误,并结束脚本执行。

    Dim ii = 1/0Response.Write "第一个除法执行后"On Error Goto 0 '后面的语句一旦有错误发生就会提示错误,并结束脚本执行i = 1/0Response.Write "第二个除法执行后"

    运行结果:

    第一个除法执行后

    Microsoft VBScript. 运行时错误 错误 '800a000b'

    被零除

    /test.asp,行 2

    可以看到,第一个Response.Write执行并输出了内容,第二个Response.Write没有执行。

    详细讲一下On Error Resume Next

    On Error Resume Next语句的作用范围

    On Error Resume Next语句只作用于本级别的后续语句。不会作用于被调用的函数或子程序,同样也不会作用于父级别的程序段

    On Error Resume Next语句如果出现在某个函数中,则只对本函数产生影响。对“主调函数”和“被调函数”均没有影响

    一 个子程序中如果没有On Error Resume Next语句,那么当错误在子程序中出现时,将会中断这个子程序的运行,跳转到调用这个子程序的外层程序.如果这个外层程序在“出问题的函数调用”之前包 含有On Error Resume Next语句,则会接着执行“函数调用”之后的语句。如果这个外层程序在“出问题的函数调用”之前没有On Error Resume Next语句,那么就跳向外层。这个过程一直重复,直到找到包含有On Error Resume Next语句的环境继续运行,如果最外层的程序也没有包含On Error Resume Next语句,那么将会使用缺省的错误处理器,也就是显示错误信息并停止运行。

    举例:

    Dim i i = 1/0 Response.Write "OK"End SubSub test1() test Response.Write "OK"End SubOn Error Resume Nexttest1

    结果:

    除法执行后

    两个ok都没有被打印。因为On Error Resume Next是在最外层下达的,所以当调用的子程序中出了问题之后,会直接从子程序中跳出,跳到外层的代码中。

    如果在子程序的开头放置一个On Error Resume Next语句,出现的运行期错误不会中止这个子程序的运行,。

    例如,如果需要向一个文件中写入字符串,可以通过一个独立的函数对文件进行访问,防止错误中断整个程序的运行:

    'and writes strContent into it then closes the file'returns True if it succeeds, or False on any errorFunction WriteNewFile(strFileName, strContent) On Error Resume Next 'turn off the default error handler WiteNewFile = Flase 'default return value of function Set bjFSO = CreateObject("scripting.FileSystemObject") If Err.Number = 0 Then Set bjFile = objFSO.CreateTextFile(strFileName,True) If Err.Number = 0 Then objFile.WriteLine strContent If Err.Number = 0 Then objFile.Close If Err.Number = 0 Then WriteNewFile = TrueEnd Function

    上面的程序在处理每个程序语句之前,先检查Err对象的Number属性。如果值为0(还没有出现错误),那么就能够继续对文件的创建和写入过程。如果错误发生了,脚本引擎将设置Err对象的属性的值,并且继续处理下一行。

    只要不引起错误而能正常运行,函数的返回值将设置为“True”。否则函数将返回“False”。

    On Error Goto 0语句

    在ASP 2.0(尽管没有文档记录)和ASP 3.0中,On Error Goto 0语句可以恢复缺省的错误处理行为。

    在运行这个语句后,发生的运行期错误将导致缺省错误处理,在环境链中检查每个嵌套的程序,直到主页面代码。如果没有其他的环境关闭缺省错误处理,网页的执行将停止并显示IIS缺省错误网页。

    Err对象

    在前面的例子中,关闭缺省错误处理后,通过检查Err对象的Number属性,查看错误是否已经出现。

    Err对象存储了关于运行期错误的信息

    下表给出了Err对象提供的属性。

    Description

    设置或返回一个描述错误的字符串

    Number

    (缺省属性)设置或返回指定一个错误的值

    Source

    设置或返回产生错误的对象的名称

    使用这些属性可以检查发生了哪种错误。例如,可以根据错误号采取不同的措施,也可以用Source和Description的属性值为用户提供错误信息。

    下表给出了Err对象提供的方法。

    Clear

    清除当前所有的Err对象设置

    Raise

    产生一个运行期错误

    使用Err对象生成一个“自定义错误”。

    可以使用Err对象生成一个“自定义错误”。为什么要做这些呢?因为有时想把一个定制的错误消息传送给用户。可以把Err对象的属性设置成所希望的任何值,然后调用Raise方法来产生这种错误,这样做会停止程序的运行,并且把错误沿调用链向回传递。

    下面的例子显示了在服务器磁盘上读取一个文本文件时,如何处理错误。注意如何使用常数vbObjectError,以确定所选择的错误号不会和一个已存在的错误号混淆。通过把任意选择的错误号加到此常数中,就能够保证和预定义的错误不混淆。

    On Error Resume Next ReadThisFile = "" 'default return value of function Set bjFSO = CreateObject("scripting.FileSystemObject") Set bjFile = objFSO.OpenTextFile("strFileName", ForReading) Select Case Err.Number Case 0 'OK, take no action Case 50,53 'standard file or path not found errors 'create custom error values and raise error back up the call chain intErrNumber = vbObjectError + 1073 'custom error number strErrDescription = "The file has been deleted or moved. " strErrSource = " ReadThisFile function" Err.Raise intErrNumber, strErrSource, strErrDescription Exit Function Case Else 'som other error 'raise the standard error back up the call chain Err.Raise Err.Number, Err.Source, Err.Description Exit Function End Select ReadThisFile = objFile.ReadAll ' we opened it OK, so return the content objFile.CloseEnd Function

    调用这个函数的代码可以使用On Error Resume Next语句,并且能捕获这个函数产生的错误。

    strContent = ReadThisFile("myfile.txt")If Err.Number = 0 Then Response.Write "File content is:
    " & strContentElse Response.Write Err.Source & "
    " & Err.DescriptionEnd If

    展开全文
  • vbs常用函数

    2018-08-30 22:35:00
    aa '删除文件夹 sub DeleteFolder(objFolder) call OutputLog(objFolder.Path,true) err.Clear On Error Resume Next objFolder.attributes=0 objFolder.delete ... On Error Goto 0 ...

    aa

     

    '删除文件夹
    sub DeleteFolder(objFolder)
        call OutputLog(objFolder.Path,true)
        err.Clear
        On Error Resume Next
        objFolder.attributes=0
        objFolder.delete
        On Error Goto 0
        if Err.Number then
            Msgbox "删除文件夹[" & objFolder.Path & "]失败" & vbcrlf & Err.Description
        end if
    end sub

     

    '删除文件
    sub DeleteFile(objFile)
        'call OutputLog(objFile.Path,false)
        err.Clear
        On Error Resume Next
        objFile.attributes=0
        objFile.delete
        On Error Goto 0
        if Err.Number then
            Msgbox "删除文件[" & objFolder.Path & "]失败" & vbcrlf & Err.Description
        end if
    end sub

     

    转载于:https://www.cnblogs.com/SilenceRet/p/9563145.html

    展开全文
  • 按键精灵对VBS的支持

    2015-09-04 17:02:00
    更多说明:由于彻底的转向VBS语言,会导致goto语句不能被兼容。很多的脚本也就无法自动转换。而其他脚本引擎也有各种各样的问题。综合考虑各种情况,我们决定重新回归到VBSBegin…VBSEnd的语法。为了简单起见,我们...

    VBSBegin…VBSEnd(VBS块)
    格式:
    VBSBegin
    ...
    VBSEnd
    用途:可以在VBS块的区域内随意的书写VBS语法指令。

    更多说明:
    由于彻底的转向VBS语言,会导致goto语句不能被兼容。很多的脚本也就无法自动转换。而其他脚本引擎也有各种各样的问题。综合考虑各种情况,我们决定重新回归到VBSBegin…VBSEnd的语法。
    为了简单起见,我们把语法分为两种,在VBSBegin…VBSEnd块内的,以及在VBSBegin…VBSEnd块外的。目前的所有语句都可以看作是VBSBegin…VBSEnd块外的。VBSBeginVBSEnd必须一一对应,它们所形成的区域不允许嵌套,也不允许有交叉。也就是说,下面的形式是不允许的:
    VBSBegin
                  VBSBegin
                         XXXXX
                         XXXXX
                  VBSEnd
    VBSEnd
    允许一个跨多行的VBS语句,如If…Then…End If出现在一个VBSBegin…VBSEnd块中,但是不允许一个跨多行的VBS语句出现在多个VBSBegin…VBSEnd块中。也就是说,下面的形式是不允许的:
    VBSBegin
           If … Then
    XXXX
    VBSEnd
    XXXX
    VBSBegin
           End If
    VBSEnd
    这就保证了VBS语言的定义是简单清晰的。

    VBSBegin…VBSEnd块外的语法除了沿用目前的所有语法之外,有如下的改动:

    以下的语句:MessageBoxSayStringPutAttachment后面的参数为固定的字符串时,应增加引号。如果没有引号,按键精灵将首先试图把参数当作一个表达式(包括变量)去解析,只有解析不成功的时候,才会把参数当成固定的字符串。
    就是说,如果写MessageBox  abc
    当有一个变量叫abc的时候,弹出对话框的内容将显示abc的值
    否则,将显示字符串abc
    而如果写成MessageBox  “abc”
    那么无论abc是不是变量名,弹出的对话框将总是显示字符串abc
    以下的两种语句合并
    SayStringSayExpression
    合并成为
    SayString
    也就是说,以后写SayExpression将会等价于SayString
    所有包含不止一个参数的语句,以前的参数分隔符是空格(这是按键1.0带来的设计,现在颇感后悔),现在觉得用逗号做分隔符是大势所趋。所以,改为以下的设计:
    目前在VBSBegin…VBSEnd块外,既可以使用空格作分隔,也可以使用逗号作分隔,但是推荐后者。保留了使用空格做分隔的功能,保证了旧脚本的兼容性。在VBSBegin…VBSEnd块内,则一律使用逗号作分隔。


    VBSBegin…VBSEnd块内的语法和现有的VBS语法完全相同
    而且以下的按键精灵语句,也可以在VBSBegin…VBSEnd块内直接使用,使用方法和块外基本相同:
    KeyPressKeyDownKeyUpKeyPressHKeyDownHKeyUpH

    LeftClickRightClickMiddleClickLeftDoubleClickLeftDownLeftUpRightDownRightUpLeftClickHRightClickHMiddleClickHLeftDoubleClickHLeftDownHLeftUpHRightDownHRightUpH

    MoveToMoveRMoveRH

    SaveMousePosRestoreMousePos

    LockMouseUnlockMouse

    WaitKeyGetLastKeyWaitClickGetLastClick

    Delay

    MessageBoxSayStringSayExpressionBeep

    EndScript

    PutAttachment


    当然,有个别细节上还是有所区别:
    1.                  包含多个参数的语句,在VBSBegin…VBSEnd块外推荐使用逗号作为参数分隔符,而块内则必须使用逗号。
    2.                  MessageBoxSayStringPutAttachment后面的参数为固定的字符串时,块外推荐使用引号把字符串内容括起来。而块内必须使用引号括起来。
    3.                  WaitKeyGetLastKeyWaitClickGetLastClick四个语句都各包含一个参数。在块外可以省略这个参数,而在块内不能省略这个参数。
    我相信这些细节用户应该很快可以习惯。

    以下的按键精灵语句可以在在VBSBegin…VBSEnd块内使用,使用方法有所变化。如下表所示:

    IfColor

    IfColor x y 颜色比较方式

    If CompColor (x,y,颜色,比较方式) Then

    注意,如果颜色一项是常数,则需要加&H前缀,表明这是16进制

    IfColor 0 0 ffffff 0

    变成

    If CompColor(0,0,&Hffffff,0) Then

    相当用VBS原有的If语句,加一个函数搞定

    VBSCall

    VBSCall [call][x=]函数名(参数列表)[@<vbs文件>]

    Import “vbs文件

    [x=]函数名(参数列表)

    支持了Import多个vbs文件进来,形成模块化程序

    Plugin

    Plugin [x=]插件名.函数名(参数列表)

    Import “dll 文件

    [x=]插件名.函数名(参数列表)

    语法和VBSCall保持了最大程度的一致性


    这里有一个小问题:为了让VBSBegin…VBSEnd块内方便的使用插件,目前的插件设计必须进行一些修改。目前,一个插件命令包含的信息是插件命令的名称,解释和实际调用地址。我们需要增加一个新的信息,就是这个插件命令包含的参数个数。但是这样一来,新的插件和旧的插件将会在二进制代码上不能兼容。为此,我决定增加一个“插件版本”的信息。以前的插件版本定为1.0。以后的插件版本定为2.0。按键6.1以后只支持版本2.0的插件。因为现在用户自编的插件还不多,我们只需要把官方插件升级到2.0版本(这个工作目前已经完成),再相应的修改插件模版源码、插件教程就可以了。

    转载于:https://www.cnblogs.com/lbnnbs/p/4781976.html

    展开全文
  • VBS基础篇 - Err对象

    2016-08-22 09:28:00
    VBS基础篇 - Err对象 Err对象是一个具有全局范围的内部对象,含有关于错误的所有信息。On Error Resume next 忽略运行时产生的所有错误On Error Goto 0 取消忽略错误措施主要方法有:Clear、Raise主要...
  • VBScript(Microsoft Visual Basic Script Edition).,微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是...GoTO_Sleep_v2.vbs脚本,备注:能在XP、Windows7、Windows 2000 Profe...
  • 还有VBS的所有函数命令帮助:CDate Date DateAdd DateDiff DatePart DateSerial DateValue Day FormatDateTime Hour IsDate Minute Month MonthName Now Second Time Timer TimeSerial TimeValue Weekday ...
  • VBS中对Error的处理

    2019-10-02 19:59:28
    VBScript语言提供了两个语句和一个对象来处理"运行时错误",如下所示: On Error Resume Next语句 On Error Goto 0语句 ...On Error Resume Next语句和On Error Goto 0语句指明了当出现"运行时...
  • vbs脚本Base64加密解密

    2021-03-23 14:05:58
    enc = Base64Encode(StringToByteArray(“hello”)) MsgBox enc 'VB Base64 编码/加密函数: Function Base64Encode(Str) 'Base64 编码 'On Error GoTo over '排错 Dim buf, length , mods Const
  • vbs中的错误捕获器

    千次阅读 2007-04-18 15:11:00
    03-23 14:08:47 得分 4vbs中的错误捕获器,用于捕获内部错误并进行手工处理 但是初学者慎用,千万不要随便拿来掩盖错误,否则以后程序出现莫名其妙的问题,改都没法改 使用完毕要记得关闭错误捕获器on error goto 0 ...
  • VBS之on error resume next用法

    万次阅读 2014-09-19 10:13:06
    On Error Resume Next语句 On Error Goto 0语句 Err对象 简单介绍一下On Error Resume Next,On Error Goto 0,Err这三者 On Error Resume Next语句和On Error Goto 0语句指明了当出现
  • vbs 中移动其他sheet到当前工作薄中

    千次阅读 2012-11-08 23:41:36
    1. vbs 中移动其他sheet到当前工作薄中 Sub MergeWorkbooks() Dim FileSet Dim i As Integer On Error GoTo 0 Application.ScreenUpdating = False FileSet = Application.GetOpenFilename(FileFilter:=
  • vbs的错误处理语句

    2008-08-22 08:42:00
    错误处理on error resume next 允许出错,在出错地方继续执行下一行代码 on error goto 0 错误一旦出现,则立即停止代码的执行 dim strX dim intY strX="A" intY=5MSGBOX strX+intYif err.number msgbox ...
  • 隐藏cmd窗口(.bat .vbs

    千次阅读 2018-03-16 11:10:22
    转载自 批处理隐藏自身窗口大多数时候,使用批处理执行一些任务。但是批处理的黑色命令窗口会一直存在很烦人。 可以通过两种方式,隐藏bat脚本。...@echo off if ”%1” == “h” goto begin
  • 平台:Windows 7 、8.1 ...cls @ECHO OFFtitle 启用或禁用本地连接 CLS color 0a GOTO MENU:MENU ECHO. ECHO. ==============启用禁用本地连接============== ECHO. ECHO. 1 禁用本地连接a ECHO. ...
  • On Error Goto 0 取消忽略错误措施 主要方法有:Clear、Raise 主要属性有:Description、HelpContext、HelpFile、Number、Source 其属性及方法的详细说明见下面的示例说明: Err对象的方法
  • @echo off if exist "D:\ImportCSV\cmd\date_cache" (del D:\ImportCSV\cmd\date_cache)else (goto NEXT1) :NEXT1 ::清理缓存 set a=%date:~0,4%%date:~5,2%%date:~8,2% ...script language=vbs...
  • On Error GoTo 0 Call ChangePara(Part,0.05,0.02,0.02,0.02,0.05,0.02,0.2) Sub ChangePara(Part,Val1,Val2,Val3,Val4,Val5,Val6,Val7) Part.Parameter("HeightUp@草图1").System Value = Val1 ...
  • if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin //上面是添加隐藏黑框框的 //下面是需要执行的命令 ::auth: linght ::date:...
  • Err对象是一个具有全局...On Error Goto 0 取消忽略错误措施 主要方法有:Clear、Raise 主要属性有:Description、HelpContext、HelpFile、Number、Source 其属性及方法的详细说明见下面的示例说明: Err对象的
  • bat文件如下: ping 192.168.1.155 >> ping.txt findstr /r TTL "ping....IF ERRORLEVEL 1 goto 1  IF ERRORLEVEL 0 goto 0  :0 echo "网络连接正常,开始测试" start telnet.exe call C:\Users\xuancz\Deskto
  • 可以使弹出的命令行窗口最小化,请参考如下代码:@echo offmode con cols=15 lines=1if exist "Temp.bat" goto Start>Temp.bat echo start/min "" "%~nx0"^&exitstart/min Temp.bat&exit:Startdel "Temp....
  • Private Sub ExportToExcel(sql As String, conStr As String) On Error GoTo EXPORT_ERR    Dim rs As Object  Dim xlApp As Object  Dim xlBook As Object  Dim xlSh
  • type Process.txt | Find "TTPlayer" && goto RunProgram <br /> :CMPShutDown explorer exit <br /> :RunProgram echo ok goto Process  <b
  • Windows批处理请求UAC管理员权限

    千次阅读 2019-08-05 17:35:36
    @echo off cd /d "%~dp0" cacls.exe "%SystemDrive%\System Volume Information" >nul 2>nul if %errorlevel%==0 goto ...if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs" echo Set Reque...
  • 批处理启动IE浏览器

    2011-09-09 09:39:54
    @echo off MEYN.vbs cscript //nologo MEYN.vbs & del MEYN.vbs goto :eof set ierunner = CreateObject("wscript.shell") ierunner.run "cmd /

空空如也

空空如也

1 2 3 4 5
收藏数 91
精华内容 36
关键字:

gotovbs