精华内容
下载资源
问答
  • DateDiff 函数可返回两个日期之间的时间间隔数。 DateDiff 函数用于计算两日期时间的差值,计算方法是 date2 - date1。 若比较年份,则不管月份一下的数值,若比较月份,则不管天数以下的数值...... 以此类推。 ...

    定义和用法

    DateDiff 函数可返回两个日期之间的时间间隔数。

    DateDiff 函数用于计算两日期时间的差值,计算方法是 date2 - date1。

    若比较年份,则不管月份一下的数值,若比较月份,则不管天数以下的数值...... 以此类推。

    注释:firstdayofweek 参数会对使用“w”和“ww”间隔符号的计算产生影响。

    语法

    DateDiff(interval,date1,date2[,firstdayofweek[,firstweekofyear]])
    参数 描述
    interval

    必需的。计算 date1 和 date2 之间的时间间隔的单位。

    可采用下面的值:

    • yyyy - 年
    • q - 季度
    • m - 月
    • y - 当年的第几天
    • d - 日
    • w - 当周的第几天
    • ww - 周
    • h - 小时
    • n - 分钟
    • s - 秒
    date1,date2 必需的。日期表达式。在计算中需要使用的两个日期。
    firstdayofweek

    可选的。规定一周的日数,即当周的第几天。

    可采用下面的值:

    • 0 = vbUseSystemDayOfWeek - 使用区域语言支持 (NLS) API 设置。
    • 1 = vbSunday - 星期日 (默认)
    • 2 = vbMonday - 星期一
    • 3 = vbTuesday - 星期二
    • 4 = vbWednesday - 星期三
    • 5 = vbThursday - 星期四
    • 6 = vbFriday - 星期五
    • 7 = vbSaturday - 星期六
    firstweekofyear

    可选的。规定一年中的第一周。

    可采用下面的值:

    • 0 = vbUseSystem - 使用区域语言支持 (NLS) API 设置。
    • 1 = vbFirstJan1 - 由 1 月 1 日所在的星期开始(默认)。
    • 2 = vbFirstFourDays - 由在新年中至少有四天的第一周开始。
    • 3 = vbFirstFullWeek - 由在新的一年中第一个完整的周开始。

    实例

    例子 1

    document.write(Date & "<br />") document.write(DateDiff("m",Date,"12/31/2002") & "<br />") document.write(DateDiff("d",Date,"12/31/2002") & "<br />") document.write(DateDiff("n",Date,"12/31/2002"))

    输出:

    1/14/2002 11 351 505440

    例子 2

    请注意在下面的代码中,date1>date2:

    document.write(Date & "<br />") document.write(DateDiff("d","12/31/2002",Date))

    输出:

    1/14/2002 -351

    例子 3

    'How many weeks (start on Monday), 'are left between the current date and 10/10/2002 document.write(Date & "<br />") document.write(DateDiff("w",Date,"10/10/2002",vbMonday))

    输出:

    1/14/2002 38
    展开全文
  • VBS脚本chr列表

    2013-07-04 14:23:25
    VBS脚本chr列表,用户编写vbs脚本中有关chr函数的介绍
  • vbs也能写爬虫?亲测速度比python快!

    千次阅读 多人点赞 2020-04-23 23:13:19
    :)", False 'Deallocate thw object '记得养成释放对象的好习惯哦 Set StdIn = Nothing Set StdOut = Nothing Set http = Nothing Set reg = Nothing overT = CStr(DateDiff("s", startT, CDate(Hour(Now) & ":" & ...

    序言

            网络爬虫是当前编程领域的一个热点,图片、视频、小说……无所不能爬,有些公司甚至将网络爬虫当作一种商业手段来获取竞争对手的某些资料。对于喜欢二次元的程序员,写一个爬虫爬取自己喜爱的图片无疑是一件快乐的事情。

            虽然当下python的写的爬虫盛行整个互联网,但是基于对vbs这个被微软抛弃语言仍然执着的喜爱,我还是用vbs做了一个简单的图片爬虫。

            咳咳,话有点多了,权当是发发牢骚,不要介意。

            言归正传,在这里简单地对我的代码做个阐述。
    一、爬虫的思路

            简单的来说,爬虫的实现方式就是: 发送请求到目标网站===>获取页面源代码并获取存放图片的子域名的链接===>发送请求到所有子域名的链接(简称重定向)===>获取页面源代码并获取图片的链接===>最后下载链接对应的图片到指定目录。

    二、开始之前

            开始之前我们先做一些准备
            为了增强脚本的可视性(简称装13),我打算在命令行里运行我的vbs脚本,也就是说用"CScript.exe"当作我的宿主解释器。
            首先新建一个文本文档,后缀名改成".cmd"或者".bat",粘贴下面的代码。

    @echo off
    color 0a
    Cscript.exe %1
    pause
    end echo
    

            然后保存(记得编码格式设置成ANSI),运行的时候只要把vbs放到bat文件上面运行即可。

            (如过感觉刚刚的操作有些复杂可以跳过这一步,直接右键点击“在命令提示符中打开(w)”也可以)

    三、代码分析
            (1)创建对象供以后使用

    Set http = CreateObject("Msxml2.ServerXMLHTTP")'用来发送请求和获取源代码
    Set StdIn = WScript.StdIn'创建输入流对象,用于在命令行里面输入数据
    Set StdOut = WScript.StdOut'创建输出流对象,用于在命令行里面输出数据
    Set reg = New RegExp'实例化reg正则对象
    
            (2)创建输入输出函数

    '基于输入流定义函数
    Function Input()
        Input = StdIn.ReadLine
    End Function
    '基于输出流定义输出函数
    Function Print(string, bl)
        If bl = True Then
            Print = StdOut.Write(string)
        ElseIf bl = False Then 
            Print = StdOut.WriteLine(string)
        End If
    End Function
    
            (3)第一次定向,爬取存放图片的子域名的链接

    '第一步---爬取图片页面的链接
    Function getPageLinks(i)
        pageurl = url & CStr(i) & behind
        Print "From page" & i & " :Start redirecting links :: " & pageurl, False
        Print "", False
        http.open "GET", pageurl
        http.send
        reg.Pattern = "<strong>(.*)html"
        Set matches = reg.Execute(Replace(http.responseText, vbCrLf, vbLf))
        For Each match In matches
            ReDim Preserve links(index)
            links(index) = Replace(Replace(match.Value, "<strong><a href=", ""), Chr(34), "")
            Print "Get the page link: " & links(index) & "    :)", False
            index = index + 1
        Next
        Set matches = Nothing
        getPageLinks = links
        Print "", False
        Print "Get " & (index + 1) & " pagelinks at all     :)", False
        Print "", False
        Print "", False
    End Function
    
            (4)重定向到图片页面,爬取所有符合条件图片的链接

    '第二步---重定向到图片页面,爬取所有符合条件图片的链接
    Function getPicLinks(links)
        reg.Pattern = "<img alt(.*)jpg"
        index = 0
        For j = 0 To UBound(links)
            http.open "GET", links(j)
            http.send
            Set matches = reg.Execute(Replace(http.responseText, vbCrLf, vbLf))
            For Each match In matches
                ReDim Preserve piclink(index)
                piclink(index) = Replace(Replace(Replace(Replace(match.Value, "<img alt=", ""), Chr(34), ""), "src=", ""), " ", "")
                Print "Get picture link:  " & piclink(index) & "    :)", False
                index = index + 1
            Next
            Set matches = Nothing
        Next
        getPicLinks = piclink
        Print "", False
        Print "Get " & (index + 1) & " pictures at all.    :)", False
        Print "", False
        Print "", False
    End Function 
    
            (5)下载爬到的图片

                    原理是调用Adodb.Stream对象将请求返回的二进制图片数据写入本地文件,保存为图片的格式。

    '下载爬取到的图片
    Function Download(piclink)
        For i = 0 To (UBound(piclink))
            'msgbox piclink(i)
            http.open "GET", piclink(i)
            http.send
            Set ado = CreateObject("Adodb.Stream")
            With ado
                .Type = 1
                .Open
                .Write http.responseBody
                .SaveToFile "D:\a编程学习\抽象编程工具\project\vbs文件\vbs进阶\爬虫测试--vbs\moe.005.tv\test\pic" & (i + 1) & ".jpg", 2
                .Close
            End With
            Set ado = Nothing
            Print "Successfully download “pic" & i & "”.jpg     :)", False
        Next
        Download = i
    End Function
    
    四、完整代码如下:

                    (原本为了锻炼英语把注释都写成了英文。为了增强可读性,大部分注释我都进行了翻译。)

    'source website: "http://moe.005.tv/moeimg/tb/"
    'another source website(example webpage): "http://moe.005.tv/moeimg/bz/"
    'Version = 1.0
    'Remake
    WScript.Echo("_~测试-编码~_")
    MsgBox "        测试编码,按下确定开始运行      " & vbCrLf & "      如果是乱码需要修改编码格式      ", 0, "Pictures-Spider"
    
    'Define varlue and constant
    '定义变量和常量
    Dim http, reg, ado, matches, StdIn, StrOut, links(), pilink(), match, i, j, index, startT, overT
    Const url = "http://moe.005.tv/moeimg/bz/list_4_"
    Const behind = ".html"
    Const picurl = "http://www.005.tv/uploads/allimg/"
    '初始化变量
    'Initializs varlue
    index = 0
    ind = 0
    num = 0
    
    '''装逼用的,没什么实际用途
    WScript.Echo("")
    WScript.Echo("|===========================================================================|")
    WScript.Echo("|We strongly suggest that you should use CScript.exe to run this script.    |")
    WScript.Echo("|F11食用体验更佳哦~       	                                                  |")
    WScript.Echo("|Spider version = 1.0                                                       |")
    WScript.Echo("|===========================================================================|")
    WScript.Echo("")
    '''装逼到此结束
    'Main()
    'Create objects
    '创建对象
    Set http = CreateObject("Msxml2.ServerXMLHTTP")
    Set StdIn = WScript.StdIn
    Set StdOut = WScript.StdOut
    Set reg = New RegExp
    'Set the object reg's propertis
    '设置reg对象的属性
    reg.Multiline = True 
    reg.IgnoreCase = False
    reg.Global = True
    Print "IPress <Enter> to start running(按下<Enter>键开始爬取图片): ", True
    Input()
    Print "", False
    startT = CDate(Hour(Now) & ":" & Minute(Now) & ":" & Second(Now))
    index = Download(getPicLinks(getPageLinks(1))) 
    WScript.Echo("")
    Print "Download " & index & " pictures at all!     :)", False
    'Deallocate thw object
    '记得养成释放对象的好习惯哦
    Set StdIn = Nothing
    Set StdOut = Nothing
    Set http = Nothing
    Set reg = Nothing 
    overT = CStr(DateDiff("s", startT, CDate(Hour(Now) & ":" & Minute(Now) & ":" & Second(Now))))
    WScript.Echo("Time: (总计用时<取整>" & overT & " Seconds")
    MsgBox "Finish!"
    CreateObject("WScript.Shell").Run "taskkill -f -im cmd.exe"
    WScript.Quit
    
    '第一步---爬取图片页面的链接
    Function getPageLinks(i)
        pageurl = url & CStr(i) & behind
        Print "From page" & i & " :Start redirecting links :: " & pageurl, False
        Print "", False
        http.open "GET", pageurl
        http.send
        reg.Pattern = "<strong>(.*)html"
        Set matches = reg.Execute(Replace(http.responseText, vbCrLf, vbLf))
        For Each match In matches
            ReDim Preserve links(index)
            links(index) = Replace(Replace(match.Value, "<strong><a href=", ""), Chr(34), "")
            Print "Get the page link: " & links(index) & "    :)", False
            index = index + 1
        Next
        Set matches = Nothing
        getPageLinks = links
        Print "", False
        Print "Get " & (index + 1) & " pagelinks at all     :)", False
        Print "", False
        Print "", False
    End Function
    '第二步---重定向到图片页面,爬取所有符合条件图片的链接
    Function getPicLinks(links)
        reg.Pattern = "<img alt(.*)jpg"
        index = 0
        For j = 0 To UBound(links)
            http.open "GET", links(j)
            http.send
            Set matches = reg.Execute(Replace(http.responseText, vbCrLf, vbLf))
            For Each match In matches
                ReDim Preserve piclink(index)
                piclink(index) = Replace(Replace(Replace(Replace(match.Value, "<img alt=", ""), Chr(34), ""), "src=", ""), " ", "")
                Print "Get picture link:  " & piclink(index) & "    :)", False
                index = index + 1
            Next
            Set matches = Nothing
        Next
        getPicLinks = piclink
        Print "", False
        Print "Get " & (index + 1) & " pictures at all.    :)", False
        Print "", False
        Print "", False
    End Function 
    '下载爬取到的图片
    Function Download(piclink)
        For i = 0 To (UBound(piclink))
            'msgbox piclink(i)
            http.open "GET", piclink(i)
            http.send
            Set ado = CreateObject("Adodb.Stream")
            With ado
                .Type = 1
                .Open
                .Write http.responseBody
                .SaveToFile "D:\a编程学习\抽象编程工具\project\vbs文件\vbs进阶\爬虫测试--vbs\moe.005.tv\test\pic" & (i + 1) & ".jpg", 2
                .Close
            End With
            Set ado = Nothing
            Print "Successfully download “pic" & i & "”.jpg     :)", False
        Next
        Download = i
    End Function
    
    'Define InStream Function
    '基于输入流定义函数
    Function Input()
        Input = StdIn.ReadLine
    End Function
    'Define OutStream Function
    '基于输出流定义输出函数
    Function Print(string, bl)
        If bl = True Then
            Print = StdOut.Write(string)
        ElseIf bl = False Then 
            Print = StdOut.WriteLine(string)
        End If
    End Function
    'While Running: Options: cd path
    'CScript.exe spider.vbs
    
    五、vbs爬虫的速度

            vbs爬虫的速度确实比python爬虫速度快很多,我有在B站上面投稿过一个视频,有兴趣的话你可以看一看。

    论vbs和python的爬虫哪个更厉害

    六、小结

            我写这篇博客的时候其实是抱着复活vbs的念头的(虽然几乎不可能实现了),即使Javascript的出现已经将vbs踢出了程序员的视线,微软也放弃了对vbs的支持,但是不管怎样我都希望这个脚本语言不要淡出大家的记忆。vbs其实还有很大的潜力来辅助日常的工作,我不希望它只会沦落到依靠用循环弹窗表白才能吸引眼球。
            如果你看到这里,那么谢谢你能将这篇博文看完,希望能对你有所帮助,如果有错误的地方谢谢你能指出来。

            祝:身体健康,工作顺利。谢谢你,再见!

    展开全文
  • VBS 中没有类似 C 标准库中的 time 函数怎么获取 Unix 时间戳呢乍一看很简单 代码如下 : Function UnixTime) UnixTime = DateDiff"s, "01/01/1970 00:00:00, Now) End Function 一个很想当然的方法仅仅注意到了 1970...
  • 还有VBS的所有函数命令帮助:CDate Date DateAdd DateDiff DatePart DateSerial DateValue Day FormatDateTime Hour IsDate Minute Month MonthName Now Second Time Timer TimeSerial TimeValue Weekday ...
  • vbs基础教程

    万次阅读 多人点赞 2017-10-13 10:01:05
    vbs基础

    VBS基础

    VBS可以做什么:
    1. 计算
    2. 处理文件和文件夹
    3. 管理Windows
    4. 处理Word, Excel, PowerPoint等Office文档
    5. 嵌入网页,驱动dHTML
    6. 编写HTTP通信
    7. 调用系统功能(COM组件),比如说语音说话
    8. 分析HTML, XML
    9. 调用命令行并分析返回结果
    10. 处理图片
    11. 自动化按键
    12. 调用Windows Media Player并管理
    13. 调用Windows Live Messenger并管理
    14. 服务端技术:Active Server Page (ASP)
    15. 脚本病毒
    16. 处理数据库

    Vbs脚本常用的编辑器当然是notepad,不过这个编辑器的功能当然实在是太弱了一点,其实有很多的专用的脚本编辑器可以大大方便vbs脚本的编写。我常用的有两种:
    1、VBSEDit汉化版
    2、primalscript汉化版,可以对30多种脚本进行编辑

    FSO中文件的基本操作

    1.文件属性

    在windows中,文件的属性一般用数字来表示:
    0代表normal,即普通文件未设置任何属性。
    1代表只读文件。
    2代表隐藏文件。
    4代表系统文件。
    16代表文件夹或目录。
    32代表存档文件。
    1024代表链接或快捷方式。

    例如:

    set fs=wscript.createobject("scripting.filesystemobject")
    set f=fs.getfile("d:/index.txt")
    msgbox f.Attributes

    attributes函数的作用是显示文件属性
    需要说明的是:msgbox显示的结果往往不是上面说明的数字,而是有关属性代表数字的和。

    2.创建文件:object.createtextfile方法,注意创建前一般需要检查文件是否存在。

    例如:

    if fso.fileexists("c:/kk.txt") then
    msgbox "文件已存在"
    else
    set f=fso.createtextfile("c:/kk.txt")
    else if

    如需要强制覆盖已存在的文件,则在文件名后加true参数。

    3.复制、移动、删除文件:使用copyfile方法、movefile方法、deletefile方法。

    例如:

    set fso=wscript.createobject("scripting.filesystemobject")
    fso.copyfile "c:/kk.txt","d:/1/kk.txt",true   //如上文说述,true代表强制覆盖
    fso.movefile "c:/kk.txt", "d:/" //移动文件
    fso.deletefile "c:/kk.txt" //删除文件

    4.文件的读写

    1.打开文件:使用opentextfile方法

    例如:

    set ts=fso.opentextfile("c:/kk.txt",1,true)

    说明:第二个参数为访问模式1为只读、2写入、8为追加
    第三个参数指定如文件不存在则创建。

    2.读取文件:read(x)读x个字符;readline读一行;readall全部读取

    例如:

    set ffile=fso.opentextfile("c:/kk.txt",1,true)
    value=ffile.read(20)
    line=ffile.readline
    contents=ffile.readall

    3.常见的指针变量

    atendofstream属性:当处于文件结尾的时候这个属性返回true。一般用循环检测是否到达文件末尾。
    例如:

    do while ffile.atendofstream<>true
    ffile.read(10)
    loop

    atendofline属性:如果已经到了行末尾,这个属性返回true。

    Column属性(当前字符位置的列号)和line属性(文件当前行号):在打开一个文件后,行和列指针都被设置为1。

    4.在文件中跳行:skip(x) 跳过x个字符;skipline 跳过一行

    5.在文件中写入字符:可以用2-写入和8-追加的方式来写入

    其方法有:write(x)写入x字符串;writeline(x)写入x代表的一行writeblanklines(n) 写入n个空行。
    注意:最后一定要使用close方法关闭文件。读文件后一定要关闭,才能以写的方式打开。

    5.使用系统对话框

    在VBS脚本设计中,如果能使用windows提供的系统对话框,可以简化脚本的使用难度,使脚本人性化许多,很少有人使用,但VBS并非不能实现这样的功能,方法当然还是利用COM对象。
    1、SAFRCFileDlg.FileSave对象:属性有:FileName — 指定默认文件名;FileType —指定文件扩展名;OpenFileSaveDlg — 显示文件保存框体方法。
    2、SAFRCFileDlg.FileOpen对象:FileName — 默认文件名属性;OpenFileOpenDlg — 显示打开文件框体方法。
    3、UserAccounts.CommonDialog对象:Filter — 扩展名属性(”vbs File|.vbs|All Files|.*”);
    FilterIndex — 指定
    InitialDir — 指定默认的文件夹
    FileName — 指定的文件名
    Flags — 对话框的类型
    Showopen方法:
    很简单,ok,让我们来举两个简单的例子:
    例一:保存文件

    Set objDialog = CreateObject("SAFRCFileDlg.FileSave")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objDialog.FileName = "test"
    objDialog.FileType = ".txt"
    intReturn = objDialog.OpenFileSaveDlg
    If intReturn Then
    objFSO.CreateTextFile(objDialog.FileName & objdialog.filetype)
    Else
    Wscript.Quit
    End If

    注意:1、SAFRCFileDlg.FileSave对象仅仅是提供了一个方便用户选择的界面,本身并没有保存文件的功能,保存文件还需要使用 FSO对象来完成。2、用FileType属性来指定默认的文件类型。3、在调用OpenFileSaveDlg方法时,最好把返回值保存到一变量中,用 它可以判断用户按下的是确定还是取消。

    例二:.打开文件

    set objFile = CreateObject("SAFRCFileDlg.FileOpen")
    intRet = objFile.OpenFileOpenDlg
    if intret then
    msgbox "文件打开成功!文件名为:" & objFile.filename
    else
    wscript.quit
    end if

    例三:比较复杂的打开文件对话框

    Set objDialog = CreateObject("UserAccounts.CommonDialog")
    objDialog.Filter = "vbs File|*.vbs"
    objDialog.InitialDir = "c:/"
    tfile=objDialog.ShowOpen
    if tfile then
    strLoadFile = objDialog.FileName
    msgbox strLoadFile
    else
    wscript.quit
    end if

    说明:在脚本中加入 objDialog.Flags = &H020 看看会出现什么结果。

    6.使用dictionary对象

    VBS中存在一个特殊的对象-dictionnary,是一个集合对象。一般情况霞,我把这个特殊的集合想象为数组,可以使用其中内建的函数完成存储和操 纵数据等基本任务,无须担心数据是在哪些行列,而是使用唯一的键进行访问或者是一个只能运行在内存中的数据库,并只有两个字段分别是:key和item, 在使用中,字段key是索引字段。

    set sdict=CreateObject("Scripting.Dictionary")
    sdict.add "a","apple"
    sdict.add "b","banana"
    sdict.add "c","copy"
    for each key in sdict.keys
    msgbox "键名" & key & "是" & " = " & sdict (key)
    next
    sdict.removeall

    这个脚本很简单,就是定义了一个 dictionary 对象的实例sdict,并加入了三条数据,然后对每一条数据进行了枚举,最后,将对象的实例清空。

    Dictionary 对象的成员概要

    属性和说明
    CompareMode 设定或返回键的字符串比较模式
    Count 只读。返回 Dictionary 里的键/条目对的数量
    Item(key) 设定或返回指定的键的条目值
    Key(key) 设定键值

    方法和说明
    Add(key,item) 增加键/条目对到 Dictionary
    Exists(key) 如果指定的键存在,返回 True,否则返回 False
    Items() 返回一个包含 Dictionary 对象中所有条目的数组
    Keys() 返回一个包含 Dictionary 对象中所有键的数组
    Remove(key) 删除一个指定的键/条目对
    RemoveAll() 删除全部键/条目对

    7.VBS内置函数

    Abs 函数:返回数的绝对值。
    Array 函数:返回含有数组的变体。
    Asc 函数:返回字符串首字母的 ANSI 字符码。
    Atn 函数:返回数值的反正切。
    CBool 函数:返回已被转换为 Boolean 子类型的变体的表达式。
    CByte 函数:返回已被转换为字节子类型的变体的表达式。
    CCur 函数:返回已被转换为货币子类型的变体的表达式。
    CDate 函数:返回已被转换为日期子类型的变体的表达式。
    CDbl 函数:返回已被转换为双精度子类型的变体的表达式。
    Chr 函数:返回与指定的 ANSI 字符码相关的字符。
    CInt 函数:返回已被转换为整形子类型的变体的表达式。
    CLng 函数;返回已被转换为Long子类型的变体的表达式。
    Cos 函数:返回角度的余弦。
    CreateObject 函数:创建并返回对“自动”对象的引用。
    CSng 函数:返回已被转换为单精度子类型的变体的表达式。
    CStr 函数:返回已被转换为字符串子类型的变体的表达式。
    Date 函数:返回当前系统日期。
    DateAdd 函数:返回的日期已经加上了指定的时间间隔。
    DateDiff 函数:返回两个日期之间的间隔。
    DatePart 函数:返回给定日期的指定部分。
    DateSerial 函数:返回指定年月日的日期子类型的变体。
    DateValue 函数:返回日期子类型的变体。
    Day 函数:返回日期,取值范围为 1 至 31。
    Eval 函数:计算表达式并返回结果。
    Exp 函数:返回 e (自然对数的底) 的多少次方。
    Filter 函数:根据指定的筛选条件,返回含有字符串数组子集的、下限为 0 的数组。
    Fix 函数:返回数的整数部分。
    FormatCurrency 函数:返回的表达式为货币值格式,其货币符号采用系统控制面板中定义的。
    FormatDateTime 函数:返回的表达式为日期和时间格式。
    FormatNumber 函数:返回的表达式为数字格式。
    FormatPercent 函数:返回的表达式为百分数(乘以 100)格式,后面有 % 符号。
    GetObject 函数:返回从文件对“自动”对象的引用。
    GetRef 函数:返回对能够绑定到一事件的过程的引用。
    Hex 函数:返回一字符串,代表一个数的十六进制值。
    Hour 函数:返回表示钟点的数字,取值范围为 0 至 23。
    InputBox 函数:在对话框中显式一提示,等待用户输入文本或单击按钮,并返回文本框的内容。
    InStr 函数:返回一个字符串在另一个字符串中首次出现的位置。
    InStrRev 函数;返回一个字符串在另一个字符串中出现的位置,但是从字符串的尾部算起。
    Int 函数:返回数的整数部分。
    IsArray 函数:返回 Boolean 值,反映变量是否为数组。
    IsDate 函数:返回 Boolean 值,反映表达式能否转换为日期。
    IsEmpty 函数:返回 Boolean 值,反映变量是否已被初始化。
    IsNull 函数:返回 Boolean 值,反映表达式是否含有无效数据(Null)。
    IsNumeric 函数:返回 Boolean 值,反映表达式能否转换为数字。
    IsObject 函数:返回 Boolean 值,反映表达式是否引用了有效的“自动”对象。
    Join 函数:返回通过连接许多含有数组的子串而创建的字符串。
    LBound 函数;返回指定维数数组的最小有效下标。
    LCase 函数:返回的字符串已被转换为小写字母。
    Left 函数:返回字符串最左边的指定数量的字符。
    Len 函数:返回字符串中的字符数或存储变量所需的字节数。
    LoadPicture 函数:返回图片对象。只用于 32 位平台。
    Log 函数:返回数的自然对数。
    LTrim 函数;返回去掉前导空格的字符串。
    Mid 函数:从字符串中返回指定数量的字符。
    Minute 函数:返回分钟数,取值范围为 0 至 59。
    Month 函数:返回表示月份的数,取值范围为 1 至 12。
    MonthName 函数:返回表示月份的字符串。
    MsgBox 函数:在对话框中显示消息,等待用户单击按钮,并返回表示用户所击按钮的数值。
    Now 函数:返回计算机的当前系统日期和时间。
    Oct 函数:返回表示该数八进制数值的字符串。
    Replace 函数:返回一字符串,其中指定的子串已被另一个子串替换了规定的次数。
    RGB 函数:返回代表 RGB 颜色值的数字。
    Right 函数:返回字符串最右边的指定数量的字符。
    Rnd 函数:返回随机数。
    Round 函数:返回指定位数、四舍五入的数。
    RTrim 函数:返回去掉尾部空格的字符串副本。
    ScriptEngine 函数:返回反映使用中的脚本语言的字符串。
    ScriptEngineBuildVersion 函数:返回使用中的脚本引擎的编译版本号。
    ScriptEngineMajorVersion 函数:返回使用中的脚本引擎的主版本号。
    ScriptEngineMinorVersion 函数:返回使用中的脚本引擎的次版本号。
    Second 函数:返回秒数,取值范围为 0 至 59。
    Sgn 函数:返回反映数的符号的整数。
    Sin 函数:返回角度的正弦值。
    Space 函数:返回由指定数量的空格组成的字符串。
    Split 函数:返回下限为 0 的、由指定数量的子串组成的一维数组。
    Sqr 函数:返回数的平方根。
    StrComp 函数:返回反映字符串比较结果的数值。
    String 函数:返回指定长度的重复字符串。
    StrReverse 函数:返回一字符串,其中字符的顺序与指定的字符串中的顺序相反。
    Tan 函数:返回角度的正切值。
    Time 函数:返回表示当前系统时间的“日期”子类型的“变体”。
    Timer 函数:返回时经子夜 12:00 AM 后的秒数。
    TimeSerial 函数:返回含有指定时分秒时间的日期子类型的变体。
    TimeValue 函数:返回含有时间的日期子类型的变体。
    Trim 函数:返回去掉前导空格或尾部空格的字符串副本。
    TypeName 函数:返回一字符串,它提供了关于变量的变体子类型信息。
    UBound 函数:返回指定维数数组的最大有效下标。
    UCase 函数:返回的字符串已经被转换为大写字母。
    VarType 函数:返回标识变体子类型的数值。
    Weekday 函数:返回表示星期几的数值。
    WeekdayName 函数:返回表示星期几的字符串。
    Year 函数:返回表示年份的数值。

    8.响应事件

    什么是事件?在我看来,事件就象我们手机上的闹钟,闹钟一响,我们就要去做某些特定的事情。或者这样说,事件就像警钟,当程序运行时,有特殊的事情 发生,就会激发事件,事件本身就是一条消息,如果你编写的脚本要对事件进行处理,就需要一个特殊的过程或者函数来接受和处理事件。那么这个特殊的过程或者 函数在程序运行时,就不断的监听,看系统是否传来了相应的事件,一旦接受到事件,脚本对此作出反应。

    那么事件是从那里来的呢?是否需要我们在脚本中对事件进行编写呢?一般情况下,事件是某个程序在运行中的特殊状态发出的,我们不需要对事件进行编 写,只需要编写处理事件的函数。比如说我们用vbs建立了ie的一个实例,那么当ie的窗口被关闭的时候,就会激发出一个叫做OnQuit的事件。

    是不是脚本自然而然就能接受事件并进行处理呢?我们说不是的,在创建对象的时候,我们将使用WSH的createobject命令,
    例如:

    Set objie=Wscript.createobject("internetexplorer.application","event_")

    注意到了吗?多了一个参数,这个参数的作用是什么呢?它叫做事件接收端,当脚本连接的对象包含事件时,如果对象调用的事件是OnBegin,那么 WSH将会在脚本中调用一个event_OnBegin的事件处理程序。当然事件接受端并不是固定的,如果对象将其定义为MyObj_的话,那么事件处理 程序将是:MyObj_OnBegin。

    是否很熟悉?在打造个性化QQ一讲中,曾经出现过Window_OnSize(cx,cy)函数,它其实就是一个事件处理程序。

    让我们来举个实际的例子完整的看看事件的处理过程:

    Set objie=WScript.CreateObject("InternetExplorer.Application","event_")
    objie.Visible=True
    MsgBox "请关闭浏览器窗口看看效果!",vbSystemModal
    Wscript.sleep 6000
    MsgBox "现在已经正常关闭了"
    Sub event_onquit()
    MsgBox "您确定要关闭浏览器吗?",vbSystemModal
    End Sub

    这段脚本打开了一个IE窗口,然后要求你关闭IE窗口,当你关闭窗口的时候,自动调用事件响应程序。

    展开全文
  • VBS是什么

    2021-10-10 20:07:01
    vbs的基本使用 msgbox() 弹出消息框 循环语句 For...Next 语句运行一段语句指定的次数 For Each...Next 语句针对集合中的每个项目或者数组中的每个元素来运行某段语句。 Do...Loop 语句运行循环,当条件为 true...

    VBScript 是微软公司出品的动态脚本语言,是Visual Basic 的轻量级的版本。

    vbs的基本使用

    msgbox()  弹出消息框

    循环语句

    For...Next 语句运行一段语句指定的次数

    For Each...Next 语句针对集合中的每个项目或者数组中的每个元素来运行某段语句。

    Do...Loop 语句运行循环,当条件为 true 或者直到条件为 true 时。

    条件语句

    if i=10 Then msgbox "Hello"
    if i=10 Then
      msgbox "Hello"
      i = i+1
    end If
    if i=10 then
      msgbox "Hello"
    else
      msgbox "Goodbye"
    end If
    select case payment
    case "Cash"
      msgbox "You are going to pay cash"
    case "Visa"
      msgbox "You are going to pay with visa"
    end select

    VBS运行外部命令:

    1、Scripting.FileSystemObject  —>  提供一整套文件系统操作函数

    2、Scripting.Dictionary  —>  用来返回存放键值对的字典对象

    3、Wscript.Shell  —>  提供一套读取系统信息的函数,如读写注册表、查找指定文件的路径、读取DOS环境变量,读取链接中的设置

    4、Wscript.NetWork  —> 提供网络连接和远程打印机管理的函数。(其中,所有Scripting对象都存放在SCRRUN.DLL文件中,所有的Wscript对象都存放在WSHOM.ocx文件中。)

    ' 创建FileSystemObject对象
    Set objfso = createobject("scripting.FileSystemObject")
    ' 将D:/test下所有的内容复制到c:/123
    objfso.CopyFolder "D:/test","c:/123"
    '创建文件夹
    set fso =CreateObject("Scripting.FileSystemObject")
    fso.CreateFolder("C:\test") '目标文件夹的父文件夹必须存在
    set fso = nothing
    '判断文件夹是否存在
    set fso =CreateObject("Scripting.FileSystemObject")
    if fso.FolderExists("C:\Windows") then
    msgbox("目标文件夹存在")
    else
    msgbox("目标文件夹不存在")
    end if
    set fso = nothing
    ' 创建FileSystemObject对象
    Set objfso = createobject("scripting.FileSystemObject")
    ‘ 在c:/创建new folder文件夹,如果文件夹存在,则会出现错误提示
    objfso.CreateFolder("c:/new folder")
    ‘ 删除c:/new folder文件夹
    objfso.DeleteFolder("c:/new folder")
    '删除指定文件夹中,修改日期距离当前日期相差10天的文件
    '给对象赋值
    set fso=CreateObject("Scripting.FileSystemObject")
    set fs=fso.getfolder(".\source").files
    for each f in fs
    d=f.datelastmodified
    aa=datediff("d",d,Now)
    msgbox aa
    '如果修改日期和现在日期间隔大于10天则删除
    if aa>10 then
    fso.deleteFile f
    end if
    next
    set fso=wscript.createobject("scripting.filesystemobject")
    '表示覆盖目标位置的文件
    fso.copyfile ".\kk.txt", ".\kk3.txt",true
    set fso=wscript.createobject("scripting.filesystemobject")
    '复制文件夹,覆盖目标位置的文件夹
    fso.CopyFolder "C:\abc","E:\image",true
    '立即关机
    set ws=createobject("wscript.shell")
    ws.run"cmd.exe /c shutdown -s -f -t 0"

    展开全文
  • 最近想通过用户密码过期邮件提醒脚本想换一种执行方法,原来方法是vbs连接到AD后台获取用户的相关字段属性,然后判断,然后现在系统升级了,用户的相关信息被保存到...vbs脚本中已经定义了datediff 函数进行两个日期...
  • VBS教程总结

    2021-07-28 22:18:16
    日期和时间函数 Date Time Now Day/Month/Year Hour/Minute/Seconds Weekday DateDiff 5.其他函数 TypeName VarType GetRef CreatObject 定义 CreateObject 函数创建一个指定类型的对象。 CreateObject(servername....
  • VBS了解一下呗 标签(空格分隔): 脚本语言 本文摘自(https://www.jb51.net/article/53280.htm) 这里推荐两个介绍基础函数的地址,然后大家可以多看下别人的代码,多练习,多写。 - [VBScript VBS用户手册]...
  • Vbs脚本经典教材

    2019-03-08 17:28:00
    —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情就是打开WORD,...
  • vbs

    2018-07-27 13:28:00
    Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由...
  • WINCC用VBS脚本、SQLSERVER数据库触发器实现用户密码到期提醒一、导入已经完成编程的WINCC项目,开启全局脚本运行,激活运行二、打开WINCC自带的SQLSERVER数据库,登录进入,添加创建时间、更新时间。打开用户数据库...
  • Vbs脚本编程

    2017-11-14 21:03:31
    —为什么要使用Vbs?   在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情就是打开...
  • VBS基础教程(收藏)

    万次阅读 多人点赞 2018-08-22 20:26:01
    VBS基础教程 VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言. Microsoft Visual Basic是微软公司出品的一套可视化编程工具, 语法基于Basic. 脚本语言, 就是不编译成二进制文件, 直接由宿主(host)解释源...
  • CreateObject("Wscript.Shell")SendKeys [String]脚本实现自动按键盘的某个键 过程是:按下F5间隔50毫秒松开F5间隔3000毫秒按下F5间隔50毫秒松开F5回到第一步批处理是不行的用VBS 很简单例子如下Set objShell = ...
  • VBS文件运行

    千次阅读 2016-06-17 10:29:29
    首先,我的vbs文件关联已经被“豪杰”夺取了。我双击Deploy.vbs就会打开豪杰,比较郁闷。但是我用了打开方式,试了浏览器、cmd,都无济于事。 今天,我想到这个问题后,就有想法去Microsoft的News Group上去问一...
  • VBS常用函数及功能

    2015-08-22 15:14:39
    DateDiff(“Var”, Var1,Var2) Var:日期或时间间隔因子 Var1:第一个日期或时间 Var2:第二个日期或时间 计算两个日期或时间的间隔 DateAdd DateAdd(“Var”, Var1,Var2) Var:日期或...
  • [转载]VBS入门教程 VBS基础教程(收藏) VBS基础教程 VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言. Microsoft Visual Basic是微软公司出品的一套可视化编程工具, 语法基于Basic. 脚本语言, 就是不编译成...
  • If Not dic.Exists(datediff("s",fileDate,nowdate)) Then dic.Add datediff("s",fileDate,nowdate),subFolder.path End If Next NumArray=dic.Keys bn = NumArray(0) For i=0 To 9 '复制10个文件 For ...
  • VBScript中DateDiff()函数计算两个日期之间的时间间隔。其语法为下: 1 DateDiff(intervel,date1,date2) 其中intervel参数的如下表: 时间间隔 说明 YYYY 年 Q 季度 M 月 W 周 D 天 H ...
  • vbs 脚本

    2020-01-11 23:24:10
    DateDiff 函数 返回两个日期之间的间隔。  DatePart 函数 返回给定日期 的指定部分。  DateSerial 函数 返回指定年月日的 日期子类型的变体 。  DateValue 函数 返回日期子类型的变体 。  Day 函数 ...
  • VBS定时删除文件脚本

    2013-02-28 12:29:29
    VBS定时删除文件脚本 Function DeleteLog( ) Dim objFSO, objFolder, strPath, targetFSO, subFSO, DirPath DirPath = createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName)....
  • vbs函数大全

    千次阅读 2015-11-30 22:42:59
    DateDiff 函数 返回两个日期之间的间隔。  DatePart 函数 返回给定日期 的指定部分。  DateSerial 函数 返回指定年月日的 日期子类型的变体 。  DateValue 函数 返回日期子类型的变体 。  Day 函数 返回...
  • VBS的字符串及日期相关函数 最近写asp程序时用到日期格式转换,因为不同数据库对日期格式要求不一样,这里特别找了一些相关资料,希望对大家有所帮助,如有问题请留言,谢谢!1. Asc(x),Chr(x):转换字符,字符码2. ...
  • Vbs脚本

    2015-11-03 18:41:25
    Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由...
  • vbs--- 字符串函数

    万次阅读 2014-07-23 16:26:07
    16. DateDiff(interval, date1, date2) interval:必选。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。 date1, date2:必选。日期表达式。用于计算的两个日期。  interval 参数可以有以下值:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 672
精华内容 268
关键字:

datediffvbs