vbs编程实例

vbs编程实例
vbs编程实例

vbs编程实例电脑技术

1、快速显示ip

Set winsobj=CreateObject("MSWinsock.Winsock") '创建对象

ip=winsobj.LocalIP

MsgBox "你的ip是:"&ip

2、创建一个新的文本文件,如果文件存在询问是否覆盖

sub create_file '创建文件子程序

Rem 在当前目录下创建"测试.txt"[若文件存在,则提示,覆盖/追加?]并写入一个字符串。dim fso, f, filename, myvar

filename = "测试.txt"

set fso = CreateObject("Scripting.FileSystemObject") '创建并返回一个对ActiveX 对象的引用。

if fso.FileExists(filename) then '判断文件是否存在

myvar = msgbox("文件“" & filename & "”已存在,覆盖?", 1)

if myvar = 2 then

exit sub

end if

end if

set f = fso.CreateTextFile(filename, true) '创建和打开文本文件,[第二个参数表示目标文件存在时是否覆盖,true:覆盖;false/忽略:不覆盖]

f.Write("写入内容,")

f.WriteLine("再写入内容——文件第一行,这是一个测试文件,并换行")

f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车)

f.WriteLine("OK")

f.Close() '关闭文件

set f = nothing

set fso = nothing

end sub

已测试通过

3、登录sina邮箱

Set Wshell=WScript.CreateObject("WScript.Shell")

AppName="sina邮箱"

Set ie7=WScript.CreateObject("InternetExplorer.Application")

ie7.visible=True

ie7.navigate "https://www.360docs.net/doc/b19389401.html,/"

While ie7.Busy

Wscript.Sleep 100

wend

ie7.Document.free.u.value="邮箱名"

'e7.myform.pass.value="邮箱登录密码"

ie7.Document.free.psw.value="邮箱登录密码"

ie7.Document.free.psw.focus

WShell.SendKeys "~" ' 回车

'Wscript.Sleep 50000 ' 根据自己的网速确定等待时间

已测试通过

4、自动登录163邮箱:

Set Wshell=WScript.CreateObject("WScript.Shell")

AppName="163邮箱"

Set ie=WScript.CreateObject("InternetExplorer.Application")

ie.visible=True

For i=1 To 1 Step 1

ie.navigate "https://www.360docs.net/doc/b19389401.html,"

While ie.Busy

Wscript.Sleep 100

wend

https://www.360docs.net/doc/b19389401.html,ername.value="邮箱名"

ie.Document.login163.password.value="邮箱登录密码"

WShell.SendKeys "~" ' 回车

Wscript.Sleep 10000 ' 根据自己的网速确定等待时间

Wshell.SendKeys "^W" ' 关闭IE窗口。注:这句没起作用?next

已测试通过

5、自动登录126邮箱:

Set Wshell=WScript.CreateObject("WScript.Shell")

AppName="126邮箱"

Set ie=WScript.CreateObject("InternetExplorer.Application")

ie.visible=True

For i=1 To 1 Step 1

ie.navigate "https://www.360docs.net/doc/b19389401.html,"

While ie.Busy

Wscript.Sleep 100

wend

' Do

' Wscript.Sleep 200

' Loop Until ie.ReadyState=4

https://www.360docs.net/doc/b19389401.html,er.value="邮箱名"

ie.Document.form.pass.value="邮箱登录密码"

WShell.SendKeys "~" ' 回车

Wscript.Sleep 10000 ' 根据自己的网速确定等待时间

Wshell.SendKeys "^W" ' 关闭IE窗口。注:这句没起作用?Next

已测试通过

6、把一些应用软件的用户配置文件备份:

1、定义源文件夹名、目的文件夹名、源文件名、目的文件名[=源文件名+日期]。

2、查找目的文件夹,若不存在则创建;若存在查找目的文件,若存在询问是否覆盖。

3、若目的文件不存在或虽然存在且同意覆盖,复制源文件夹下之源文件

4、到目的文件夹下粘贴为目的文件

sub Filebakup

dim s_folder,d_folder,s_fname,d_fname,fso

s_folder="H:\我的文档\Administrator\VBS编程\源文件夹\"

d_folder="H:\我的文档\Administrator\VBS编程\目标文件夹\"

s_fname="测试config.abc"

d_fname="测试config" & year(now) & Month(Now) & Day(now) & ".abc"

set fso = CreateObject("Scripting.FileSystemObject")

'判断目标文件夹是否存在

if not fso.FolderExists(d_folder) then

'创建目标文件夹

fso.CreateFolder(d_folder)

end if

'判断目标文件是否存在

if fso.FileExists(d_folder & d_fname) then

myvar = msgbox("目标文件夹" & d_folder & d_fname & "存在,覆盖?",1,"吴乃钧提示您

:")

if myvar = 2 then '取消

msgbox("注意:" & s_folder & s_fname & "没有备份!")

set fso = nothing

exit sub

end if

end if

'复制文件

call fso.CopyFile(s_folder & s_fname,d_folder & d_fname)

end sub

已测试通过

7、登录mail-magic论坛

sub loginMM

dim lgname,lgpassword,lgcount

Set Wshell=WScript.CreateObject("WScript.Shell")

AppName="mail-magic论坛"

Set ie=WScript.CreateObject("InternetExplorer.Application")

ie.visible=True '显示页面

For i=1 To 1 ‘反复登录几次

ie.navigate "https://www.360docs.net/doc/b19389401.html,/cgi-bin/loginout.cgi?forum=&inmembername=用户名&inpassword=密码"

Do

Wscript.Sleep 200

Loop Until ie.ReadyState=4

Wshell.SendKeys "{tab 22}" '到“登录”键

Wshell.SendKeys "{Enter}" '回车

Wscript.Sleep 8000 '根据自己的网速确定等待时间

ie.navigate "https://www.360docs.net/doc/b19389401.html,/cgi-bin/loginout.cgi?action=logout" '退出

Wscript.Sleep 200

Wshell.SendKeys "^w" '关闭IE窗口

Next

end sub

已成功登录及退出

8、VBS对网页的操作

创建internetexplorer.application对象如下

Set ie=WScript.CreateObject("internetexplorer.application")

ie.menubar=0 '不显示IE对象菜单栏

ie.AddressBar=0 '不显示IE对象地址栏

ie.ToolBar=0 '不显示IE对象工具栏

ie.StatusBar=0 '不显示IE对象状态栏

ie.FullScreen=1 '全屏化IE对象

ie.Width=800 '设置IE对象宽度

ie.Height=600 '设置IE对象高度

ie.Resizable=0 '设置IE对象大小是否可以被改动

ie.visible=1 '设置是否可见

ie.Navigate "https://www.360docs.net/doc/b19389401.html," '设置IE对象默认指向的页面

9、对文件和文件夹的操作

Dim fso, sourcefilename, destfilename

sourcefilename = "H:\我的文档\Administrator\VBS编程\目标文件夹\测试config2007930.abc" destfilename = "H:\我的文档\Administrator\VBS编程\目标文件夹\测试config2007930.bcd"

Set fso = CreateObject("Scripting.FileSystemObject")

if fso.FileExists(sourcefilename) then '判断文件是否存在[存在返回1,不存在返回0] msgbox("文件:“" & sourcefilename & "”存在,下面要复制为不同名文件...")

fso.CopyFile sourcefilename, destfilename '复制同名/不同名文件

msgbox("下面要删除文件“" & sourcefilename & "”...")

fso.DeleteFile sourcefilename '删除文件

msgbox("下面要把文件“" & destfilename & "”改名为“" & sourcefilename & "”...") fso.MoveFile destfilename, sourcefilename '移动文件或文件改名

else

msgbox("要找的文件“" & sourcefilename & "”不存在,下面将创建它...")

fso.CreateTextFile sourcefilename

end if

msgbox "下面演示对文件夹的操作..."

Folder = "H:\我的文档\Administrator\VBS编程\目标文件夹\测试文件夹"

if fso.FolderExists(Folder) then'判断文件夹是否存在[存在返回1,不存在返回0] msgbox("要找的文件夹“" & Folder & "”存在!不再进行任何操作...")

else

msgbox("要找的文件夹“" & Folder & "”不存在,下面要创建新的文件夹...")

fso.CreateFolder Folder '创建新文件夹[新文件夹的父文件夹存在]

msgbox("看到新的文件夹了吗?下面要删除它...")

fso.DeleteFolder Folder '删除文件夹[文件夹不必为空]

end if

msgbox "演示完毕,再见!"

set fso = nothing

已测试通过

10、去掉字符串中多余的空格

s = " 这里有许多词被一些多余的不规律的空格分隔去掉多余的空格。"

msgbox s

s = trim(RegReplace(s, "\s+", " ")) '第三个参数:保留一个空格:" ";不留空格:"";用-替换空格:"-"

msgbox s

Function RegReplace(ByVal str1, ByVal patrn, ByVal replStr)

Dim regEx

Set regEx = New RegExp

regEx.Pattern = patrn

regEx.MultiLine = True

regEx.IgnoreCase = True

regEx.Global = True

RegReplace = regEx.Replace(str1, replStr)

set regEx = Nothing

End Function

已测试通过

11、整理文本文件,去掉文本中多余的空格(只留一个)

sub textmody

Dim fso, fso1, fso2, wordline

filename = "测试.txt"

filenameT = "测试temp.txt"

Set fso = CreateObject("Scripting.FileSystemObject")

set fso1 = fso.OpenTextFile(filename, 1, false)

set fso2 = fso.OpenTextFile(filenameT, 2, true)

do while fso1.AtEndOfStream = false

wordline = fso1.ReadLine

wordline = trim(RegReplace(wordline,"\s+"," ")) '"\s+":连续空白任意个if wordline <> "" then

fso2.WriteLine wordline

end if

loop

set fso1 = Nothing

set fso2 = Nothing

fso.DeleteFile filename '删除文件

fso.MoveFile filenameT, filename '移动文件或文件改名

end sub

Function RegReplace(ByVal str1, ByVal patrn, ByVal replStr)

Dim regEx

Set regEx = New RegExp

regEx.Pattern = patrn

regEx.MultiLine = True

regEx.IgnoreCase = True

regEx.Global = True

RegReplace = regEx.Replace(str1, replStr)

set regEx = Nothing

End Function

已测试通过

12、遍历文件夹下所有文件函数

之一:

Function ShowFolderList(folderspec)

Dim fso, f, f1, fc, s

Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.GetFolder(folderspec)

Set fc = f.Files

For Each f1 in fc

s = https://www.360docs.net/doc/b19389401.html,

msgbox s

Next

End Function

ShowFolderList "H:\我的文档\Administrator\VBS编程\测试文件夹"

之二:

Function PresentFolderList '遍历当前文件夹下文件

Dim fso, f, ff, f1, fc, s

fn = "Temp.tmp"

Set fso = CreateObject("Scripting.FileSystemObject")

set f = fso.CreateTextFile(fn, true) '在当前文件夹下建一个临时文件

Set f = fso.GetFile(fn) '获得文件全名

ff = mid(f, 1, InStrRev(f, "\")-1)

fso.DeleteFile(fn) '删除临时文件

Set f = fso.GetFolder(ff) '返回ff的Folder 对象

Set fc = f.Files 'f中所有File 对象的集合

For Each f1 in fc '遍历f下文件

s = s & https://www.360docs.net/doc/b19389401.html,

s = s & CHR(13)

Next

msgbox s

End Function

已测试通过

13、去掉文件扩展名

asdf = "afdg.ab.ctx.e23wt"

DelExpandName asdf

msgbox asdf

' 取文件扩展名的正则表达式:\.\w$ 或[.]\w*$ (无换行)和\.\w\n 或[.]\w*\n (有换行)

Function DelExpandName(Fname)

Dim pp

pp = InStrRev(Fname, ".")

if pp <> 0 then

fname = Left(Fname, pp-1)

end if

End Function

已测试通过

14、照片题注文件整理—把文件名写入文本首行,去多余空格

tt = timer

MyCount = 0

PhotoText

msgbox "共整理文件" & MyCount & " 个,用时"& CInt(Timer - tt) & " 秒钟。OK",,"吴乃钧提示:"

sub PhotoText

Dim fso, f, fc, f1, MyFFPath, MyFName, FnameTemp, FileNameT, fso1, fso2, wordline, Fname

MyFFPath = "H:\我的文档\Administrator\VBS编程\测试文件夹\"

Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.GetFolder(MyFFPath)

Set fc = f.Files

For Each f1 in fc

MyFName = https://www.360docs.net/doc/b19389401.html, '得到文件名

FnameTemp = MyFName

DelExpandName FnameTemp '去掉扩展名的文件名

FileNameT = FnameTemp & "temp.txt" '临时文件名生成

MyFName = MyFFPath & MyFName '加入路径

FileNameT = MyFFPath & FileNameT '加入路径

set fso1 = fso.OpenTextFile(MyFName, 1, false)

set fso2 = fso.OpenTextFile(FileNameT, 2, true)

fso2.WriteLine FnameTemp '把文件名写入文本首行

do while fso1.AtEndOfStream = false

wordline = fso1.ReadLine

wordline = trim(RegReplace(wordline,"\s+"," ")) '"\s+":连续空白任意个

if wordline <> "" then

fso2.WriteLine wordline

end if

loop

set fso1 = Nothing

set fso2 = Nothing

fso.DeleteFile MyFName '删除原文件

fso.MoveFile FileNameT, MyFName '文件改名

MyCount = MyCount + 1

Next

set fso = Nothing

end sub

Function DelExpandName(Fname)'去掉文件扩展名

Dim pp

pp = InStrRev(Fname, ".")

if pp <> 0 then

Fname = Left(Fname, pp-1)

end if

End Function

Function RegReplace(ByVal str1, ByVal patrn, ByVal replStr) '正则表达式函数Dim regEx

Set regEx = New RegExp

regEx.Pattern = patrn

regEx.MultiLine = True

regEx.IgnoreCase = True

regEx.Global = True

RegReplace = regEx.Replace(str1, replStr)

set regEx = Nothing

End Function

已测试通过

15、登录百度空间

sub loginHibaidu

' dim lgname,lgpassword,lgcount

MyURL = "https://www.360docs.net/doc/b19389401.html,/%CE%E2%C4%CB%BE%FB"

Set Wshell = WScript.CreateObject("WScript.Shell")

AppName = "登录百度空间"

For i = 1 To 3

Set ie = WScript.CreateObject("InternetExplorer.Application")

ie.visible = false 'True/false:显示(不显示)页面

ie.navigate MyURL

Do

Wscript.Sleep 200

Loop Until ie.ReadyState = 4

Wscript.Sleep 1000 '根据自己的网速确定等待时间

Wshell.SendKeys "^w" '关闭IE窗口

Wscript.Sleep 60000 '间隔时间

Set ie = nothing

Next

msgbox "登录" & I-1 & " 次,完毕!"

end sub

已测试通过

16、登录Gmail

sub loginGmail

dim MyURL, MyName, MyPass, Wshell, AppName, ie

MyURL = "https://https://www.360docs.net/doc/b19389401.html,/accounts/ServiceLogin?service=mail&passive=true&rm=false&continu e=https%3A%2F%https://www.360docs.net/doc/b19389401.html,%2Fmail%2F%3Fui%3Dhtml%26zy%3Dl<mpl=default <mplcache=2"

MyName = "Gmail账户名"

MyPass = "密码"

Set Wshell = WScript.CreateObject("WScript.Shell")

AppName = "登录Gmail"

Set ie = WScript.CreateObject("InternetExplorer.Application")

ie.visible = True 'True/false:显示(不显示)页面

For i = 1 To 1

ie.navigate MyURL

Do

Wscript.Sleep 200

Loop Until ie.ReadyState = 4

Wshell.SendKeys MyName '户名

Wshell.SendKeys "{Enter}" '回车

Wscript.Sleep 200

Wshell.SendKeys "{tab}"

Wscript.Sleep 200

Wshell.SendKeys MyPass '密码

Wscript.Sleep 200

Wshell.SendKeys "{Enter}" '回车

Wscript.Sleep 10000 '根据自己的网速确定等待时间

Wshell.SendKeys "{Enter}"

Wscript.Sleep 15000 '根据自己的网速确定等待时间

Wshell.SendKeys "{tab 8}"

Wscript.Sleep 200

Wshell.SendKeys "{Enter}" '退出

Wscript.Sleep 5000

Wshell.SendKeys "^w" '关闭IE窗口

Next

end sub

已测试通过

17、自动关闭的提示信息

set m_sh = CreateObject("WScript.Shell")

t = 10

m_sh.Popup "现在演示提示信息,点击确定立即关闭,否则" & t & " 秒后自动关闭... ...", t ,"wnj提示您",64

set m_sh = nothing

已测试通过

18、用InternetExplorer.Application对象的navigate方法打开IE,用LocationName、ReadyState 属性确认的测试

Function testOpen '测试打开IE

Emurl = "https://www.360docs.net/doc/b19389401.html,/"

mylogtit = "欢迎使用Gmail"

Set G_ie = WScript.CreateObject("InternetExplorer.Application")

Logi = 0 : loginOk = False : TT = 60

TVar = 1000

StartTime = Timer

do while Logi < 3

G_ie.visible = true '程序运行时,true可见,false不可见。

G_ie.navigate Emurl

i = 0

Do '等待进入登录页面

Wscript.Sleep TV ar '等待1秒

i = i + 1

if G_ie.LocationName = mylogtit and G_ie.ReadyState = 4 then '单凭G_ie.ReadyState=4还不能确认是否需要的网页

loginOk = True

Exit do

end if

Loop until i > TT '超时退出

Logi = Logi + 1 '登录次数

if loginOk then Exit do

loop

if LoginOk then

msgbox "登录成功!" & chr(13) & "共试登录:" & logi & " 次,用时:" & Timer - StartTime & "秒" & chr(13) & "页面标题:[" & G_ie.LocationName & "];ReadyState= " & G_ie.ReadyState

else

msgbox "登录不成功!" & chr(13) & "共试登录:" & logi & " 次,用时:" & Timer - StartTime & "秒" & chr(13) & "页面标题:[" & G_ie.LocationName & "];ReadyState= " & G_ie.ReadyState

end if

end Function

已测试通过

19、用WScript.Shell对象打开软件并测试

Function testOpen '测试打开软件,这样测试软件打开很可靠!

PhotoName = chr(34) & "H:\我的文档\Administrator\VBS编程\vbs练习\a aa\安杰利柯.jpg" & chr(34)

PhotoHost = chr(34) & "G:\Adobe\Photoshop CS3\Photoshop.exe " & chr(34)

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run PhotoHost & " " & PhotoName

i = 0

Do '等待进入登录页面

Wscript.Sleep 1000

i = i + 1

if i > 60 then Exit do '设定超时60 秒

t = WshShell.AppActivate ("Adobe Photoshop CS3 Extended - [安杰利柯.jpg") '部分窗口标题即可

Loop Until t

if t then

msgbox i * 1.00 & "秒打开,WshShell.AppActivate = " & t

else

msgbox i * 1.00 & "秒没有打开,退出。"

end if

end Function

已测试通过

20、AppActivate方法体验

Function TestAppActivate '测试AppAtictivate

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run TextHost & " " & TextName1

WshShell.Run TextHost & " " & TextName2

flag = true

i = 0

do while i < 6

if flag then

t1 = WshShell.AppActivate ("便笺.txt - 记事本")

WshShell.SendKeys chr(34) & "This is 便笺.txt" 'SendKeys不支持汉字

WshShell.SendKeys "{Enter}"

else

t2 = WshShell.AppActivate ("便笺1.txt - 记事本")

WshShell.SendKeys "This is 便笺1.txt"

WshShell.SendKeys "{Enter}"

end if

Wscript.Sleep 5000

flag = not flag

i = i + 1

loop

end Function

已测试通过

21、字符转换为隐藏码

Function HideStr '字符转换

为隐藏码辅助工具

do

St = InputBox ("输入需要转换的字符(串):", "")

If St = "" Then Exit Do Else MsgBox HideCode(St)

Loop

End Function

Function HideCode(Str)

HideCode = ""

For Ci = 1 to Len(Str) '把字符串中的字符逐个处理

StrHex = Hex(Asc(Mid(Str, Ci, 1))) '单个字符的ASC码转为十六进制码

StrCodeT = "" : StrSingleT = ""

For Cj = 1 To Len(StrHex) '把单个字符的十六进制码按位转为ASC码

StrCodeT = StrCodeT + "Chr(" & Asc(Mid(StrHex, Cj, 1)) & ")"

StrSingleT = StrSingleT + Chr(Asc(Mid(StrHex, cj, 1)))

Next

StrSingle = Chr(Chr(38) & Chr(72) & StrSingleT) '还原代码为原来的字符,以检验。

HideCode = HideCode & "“" & StrSingle & "” = "

HideCode = HideCode & "Chr(38)" & "Chr(72)" & StrCodeT & chr(13) '合成为一组Chr 可识别的码,代表字符串中的一个字符

Next

End Function

VBS函数的简单库

Abs 函数返回数的绝对值。 加法运算符(+) 两数相加。 And 运算符执行两个表达式的逻辑连接。 Array 函数返回含一数组的变体。 Asc 函数返回字符串首字母的ANSI 字符代码。 赋值运算符(=) 给变量或属性赋值。 Atn 函数返回数的反正切值。 调用语句将控制移交Sub 或Function 过程。 CBool 函数返回已被转换为Boolean 子类型的变体的表达式。 CByte 函数返回已被转换为字节子类型的变体的表达式。 CCur 函数返回已被转换为货币子类型的变体的表达式。 CDate 函数返回已被转换为日期子类型的变体的表达式。 CDbl 函数返回已被转换为双精度子类型的变体的表达式。 Chr 函数返回指定ANSI 字符码的字符。 CInt 函数返回已被转换为整数子类型的变体的表达式。 Class 对象提供对已创建的类的事件的访问。 Class 语句声明类名 Clear 方法清除Err 对象的所有属性设置。 CLng 函数返回已被转换为Long 子类型的变体的表达式。 颜色常数颜色常数列表。 比较常数用于比较运算的常数列表。 连接运算符(&) 强制两个表达式的字符串连接。 Const 语句声明用于字母值的常数。 Cos 函数返回角度的余弦值。 CreateObject 函数创建并返回对“自动”对象的引用。 CSng 函数返回已被转换为单精度子类型的变体的表达式。 CStr 函数返回已被转换为字符串子类型的变体的表达式。 日期和时间常数在日期和时间运算中用来定义星期几和其他常数的常数列表。 日期格式常数用于日期和时间格式的常数列表。 Date 函数返回当前系统日期。 DateAdd 函数返回加上了指定的时间间隔的日期。 DateDiff 函数返回两个日期之间的间隔。 DatePart 函数返回给定日期的指定部分。 DateSerial 函数返回指定年月日的日期子类型的变体。 DateValue 函数返回日期子类型的变体。 Day 函数返回日期,取值范围为 1 至31。 Description 属性返回或者设置说明某个错误的字符串。 Dictionary 对象存储数据键、项目对的对象。 Dim 语句声明变量并分配存储空间。 除法运算符(/) 两数相除并以浮点数格式返回商。 Do...Loop 语句当条件为True 或者当条件变为True 时,重复一语句块。 Empty 表示尚未初始化的变量值。 Eqv 运算符使两个表达式相等。 Erase 语句重新初始化固定数组的元素并重新分配动态数组的存储空间。

vbs经典脚本

Vbs脚本经典教材 Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情就是打开W ORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来……。这些事情重复、琐碎,使人容易疲劳。 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,我也尝试过使用计算机语言编写程序来解决这些问题,但是随之而来的命令、语法、算法、系统框架和类库常常让我觉得这样是否有必要,难道就是因为猪毛比较难拔,所以我就要去学习机械,为自己设计一个拔猪毛机(?)吗? Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由Windows系统执行(实际是一个叫做宿主host的解释源代码并执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。 我个人认为Vbs脚本其实就是一种计算机编程语言,但是由于缺少计算机程序设计语言中的部分要素,对于事件的描述能力较弱,所以称为脚本,它最方便的地方就是提供了对COM对象的简便支持。那么什么是COM对象呢? 我这样理解,COM对象就是一些具有特定函数功能项程序模块,他们一般以ocx或者dll作为扩展名,你只要找到包含有你需要的功能的模块文件,并在脚本中规范的引用,就可以实现特定的功能,也就是说Vbs脚本就是调用现成的“控件”作为对象,用对象的属性和方法实现目的,完全免去了编写代码、设计算法等等麻烦。说白了,我不是觉得拔猪毛麻烦么?我发觉xx机(比如真空离心器)有一个功能可以实现脱毛,ok,我把它拿来给猪脱毛。什么?大材小用?太浪费资源了?天哪,那是计算机芯片的事情,死道友不死贫道,反正我的事情是方便快速的解决了,这就行了。 最方便的是它甚至不需要专门的开发环境,在你的计算机中,只要有notepad,就可以编写Vbs 脚本了,并且可以直接执行。

wincc中使用vbs常用函数.

wincc 中使用vbs 常用函数 1. 函数array() 功能: 创建一个数组变量 格式:array(list) 参数:list 为数组变量中的每个数值列,中间用逗号间隔 例子: <% i = array ( “1”, ”2”, ”3”) %> 结果: i 被赋予为数组 2. 函数Cint() 功能: 将一表达式/ 其它类型的变量转换成整数类型(int) 格式:Cin t(expressio n_r) 参数:expression」是任何有效的表达式/其它类型的变量 例子: <% f = ” 234” response.write cINT(f) + 2 %> 结果: 236 函数Cint() 将字符” 234”转换成整数234.如果表达式为空, 或者无效时, 返回值为0; 3. 函数:Creatobject() 功能: 创建及返回一个ActiveX 对象. 格式:Creatobject(obname)

参数bname 是对象的名称 例子: <% Set con = Server.CreateObject( “ADODB.Connection”) %> 结果: 4. 函数Cstr() 功能: 将一表达式/其它类型的变量转换成字符类型(string) 格式:Cstr(expression_r) 参数:expression」是任何有效的表达式/其它类型的变量例子: <% s = 3 + 2 response.write ”The result is: ” & cStr(s) %> 结果: 函数Cstr() 将整数 5 转换成字符” 5”. 5. 函数Date() 功能: 返回当前系统(server 端) 的日期 格式: Date() 参数:无 例子<% date () %> 结果:05/10/00

VBS经典代码大全

VBS代码片断大全[一] 1 VBS 取得本机IP strComputer = "." Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2") Set IPConfigSet = objWMIService.ExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE") For Each IPConfig in IPConfigSet If Not IsNull(IPConfig.IPAddress) Then For Each strAddress in IPConfig.IPAddress WScript.Echo strAddress Next End If Next -------------------------------------------------------------------------------- 2 取得本机计算机名 strComputer = "." Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2") Set colComputers = objWMIService.ExecQuery("Select * from Win32_ComputerSystem") For Each objComputer in colComputers Wscript.Echo https://www.360docs.net/doc/b19389401.html, Next -------------------------------------------------------------------------------- 4 检查升级包 strComputer = "." Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objOperatingSystem in colOperatingSystems Wscript.Echo objOperatingSystem.ServicePackMajorVersion & "." & objOperatingSystem.ServicePackMinorVersion Next -------------------------------------------------------------------------------- 5 检查Hot Fix strComputer = "." Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2") Set colQuickFixes = objWMIService.ExecQuery ("Select * from Win32_QuickFixEngineering") For Each objQuickFix in colQuickFixes Wscript.Echo "Description: " & objQuickFix.Description

几个超有价值的VBS脚本

几个超有价值的VBS脚本! 2008-08-20 12:13 1、exe2swf工具用法:将exe格式的flash拖放在此vbs文件上,即可生成swf文件 dim AsoR,FlashFileName Set ArgObj = WScript.Arguments dim PositionStart,OKed,Tag,EndSize PositionStart = 920000'flash 4的播放器的大致字节数 EndSize = 8 'exe文件结尾字节数,其它版本可以设置为0 FlashFileName = ArgObj(0)'传递路径 set AsoR=CreateObject("Adodb.Stream") AsoR.Mode=3 AsoR.Type=1 AsoR.Open set AsoW=CreateObject("Adodb.Stream") AsoW.Mode=3 AsoW.Type=1 AsoW.Open AsoR.LoadFromFile(FlashFileName) OKed = true dim filesize filesize = AsoR.size if filesize>PositionStart then while OKed AsoR.Position = PositionStart Tag = Bin2Str(AsoR.read(20)) if instr(Tag,"0000000") >0 then PositionStart = PositionStart + 1 else PositionStart = PositionStart + 20 end if if Tag = "00000000000000000708783" or Tag = "00000000000000000678783" then OKed = false end if 'if PositionStart > filesize then ' OKed = false 'end if wend

VBS脚本教程

VBS脚本教程(一) 打开你的“记事本”程序,在编辑窗口填写: msgbox "Hello World!" 然后用鼠标单击“文件”菜单,单击“保存”,把“保存在”一栏设为桌面,在“文件名”一栏中填写kk.vbs,单击“保存”就可以了。然后最小化“记事本”窗口,在桌面上寻找你刚刚保存的kk.vbs,然后双击。看到弹出的对话框了没有,单击“确定”,对话框消失了。难看了点,不过确实是你编写的第一个脚本程序。 说明之一:上面的操作中,保存位置放在桌面,仅仅是为了执行方便,你保存到其他的地方完全没有问题,只要你知道你保存在什么地方就可以了,什么?是废话,自己保存的当然知道保存在那里了。不,自己保存的文件自己找不到的人我见的多了去了。文件名你可以随意填写,不一定非要写kk,只要符合Windows的文件命名规则就可以了,但是扩展名必须是vbs,什么?不知道什么是扩展名?就是文件名中“.”后的那部分,简单说,就是vbs脚本文件命名时必须是:xxx.vbs,其中xxx你随意。 说明之二:在记事本编辑窗口中写的这行是什么意思? Msgbox是VBS内建的函数,每一个函数都可以完成一定的功能,你只需要按照语法要求,在函数的相应部分填写相应的内容就可以了,这部分内容我们称为参数,当然函数执行的结果我们称为返回值,一个函数可以有返回值也可以没有,可以有参数也可以没有。你不用了解函数是怎么运作的,只要了解这个函数能干什么就行了。 Msgbox语法:msgbox "对话框内容", , "对话框的标题" 你不妨用记事本打开刚才的文件在编辑窗口中输入: msgbox "Hello World!" , , "系统提示" 执行一下,看看效果和位置。 说明之三:如果执行失败,看看你的标点符号,所有的标点符号必须是在英文状态下输入的。 当然,这个脚本实在是太简单了,甚至连最简单的交互都没有,所以你可以把脚本这样修改一下: Dim name name=Inputbox("请输入你的名字:","名称") Msgbox name, , "您的名字是" 保存执行一下,看到弹出的对话框了么?填入你的名字,点确定,看到结果了吗? 说明之一:第一句是定义变量,dim是定义变量的语句 其格式为:dim 变量1,变量2……, Vbs只有一种变量类型,所以不用声明变量类型。系统会自动分辨变量类型。 说明之二:inputbox是VBS内建的函数,可以接受输入的内容,其语法格式为: Inputbox("对话框内容","对话框标题") 第二句的意思是接受用户的输入,并把输入结果传递给变量name。 好了,到此脚本基本的输入输出函数都有了,已经可以完成一些比较简单的功能了,你可以编写一个

VBS脚本参考

VBS脚本参考之一——使用连字符2007年06月14日星期四下午08:35前言 这一章的前半部分介绍了VB 脚本最基本的概念,并且告诉你它可以完成的工作,尤其是VBS和其它的如WMI、ADSI 接合在一起的时候。后半部分主要介绍了VBS对系统管理员更有用的部分。 许多脚本和程序语言在向文本输入的时候并不严格的遵守文本的行。例如,尽管下面这个JS 脚本写了很多行,但是,JS 把它当做一行来处理。这是因为,在大部分的时候,JS 只有看到中止符的时候才认为使一个行的中止。在这个例子中,中止符就是“;”。在实际中敲入的行是和脚本本身不相关的。 var 作者:临汾市外事旅游局薛靖澜,转载请注明出处] objWMI =new Enumerator (GetObject("winmgmts:") . InstancesOf("Win32_process")) ; 正好相反,同样的一段代码,用VB 写的时候就会报一个语法错误。 Set objWMI = (GetObject("winmgmts:") . InstancesOf("Win32_process")) 这是因为,VBS用回车键来代替特定的中止符。为了中止一个VB脚本,你不需要来敲入一个分号或者其它的特殊的符号,你只需要敲回车键就好了。一般来讲,不用中止符的限制,使VBS 在编写的过程中变的简单,但是也有一点会有些复杂。为了增强程序的可读性,建

议每行的最大长度不超过80个字符。那么当你的一行代码中有100 个字符,怎么办呢?尽管看来好象有个很简单的解决办法,但是你不能用回车键来将一行代码分隔成很多行。例如如下的代码片断会返回一个VB 运行错误因为它用回车键来分隔脚本 strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, strCurrentStatus Wscript.Echo strMessageToDisplay 你不能用回车建来换行,因为在VB 中它认为回车是代表一段代码的中止,在上面的代码中,它认为第一行是脚本的第一部分陈述内容。然后认为第二行是另外一部分陈述内容。这样因为strCurrentStatus 不是一个VBS的命令,所以就报错了。为了解决这个问题,VB 脚本用下划线来表示下面一行是上面一行的代替。在VB 的早期修订版本中,在第一行末尾加一个空格和一个下划线来表示第二行是第一行的继续。为更明确的表明这个意思,第二行前面要加四个空格。(这样作是为了可读,你其实不必在继续的行前作特定的标识──就是不用在第二行前加四个空格。)作者:临汾市外事旅游局薛靖澜,转载请注明出处] strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, _ strCurrentStatus Wscript.Echo strMessageToDisplay 当继续的行又引号的时候,它就显的特别复杂。例如,架设你用下划线和空格来分隔一个WMI脚本: Set colServiceList = GetObject("winmgmts:").ExecQuery("SELECT * FROM _ Win32_Service WHERE State = 'Stopped' AND StartMode = 'Auto' ") 如果你运行这个脚本,它会弹出一个错误,因为继续换行符放在了引号中间了,这样它就认为换行符是字符串的一部分。为了分隔这个陈述: 1:在第一行用引号中止,然后插入空格和下划线 2:用and(&)符号来开始下一行,这表示第二行是第一行字符串的继续 3:在下一行开始之前加入引号这些引号表示这些陈述是包涵在上面的一行中的,没有了引号,它就VB就解释Win32_Service 是VB 的陈述语句,因为这个语句不是合法的,所以就产生了错误。修正的版本如下: Set colServiceList = GetObject("winmgmts:").ExecQuery("SELECT * FROM " _

wincc中使用vbs的常用函数

wincc中使用vbs的常用函数 1.函数array() 功能:创建一个数组变量 格式:array(list) 参数:list为数组变量中的每个数值列,中间用逗号间隔 例子: <%i=array(“1”,”2”,”3”)%> 结果:i被赋予为数组 2.函数Cint() 功能:将一表达式/其它类型的变量转换成整数类型(int) 格式:Cint(expression) 参数:expression是任何有效的表达式/其它类型的变量 例子: <% f=”234” response.write cINT(f)+2 %> 结果:236 函数Cint()将字符”234”转换成整数234.如果表达式为空,或者无效时,返回值为0; 3.函数:Creatobject() 功能:创建及返回一个ActiveX对象. 格式:Creatobject(obname) 参数bname是对象的名称 例子: <% Set con=Server.CreateObject(“ADODB.Connection”) %> 结果: 4.函数Cstr() 功能:将一表达式/其它类型的变量转换成字符类型(string) 格式:Cstr(expression) 参数:expression是任何有效的表达式/其它类型的变量 例子: <% s=3+2 response.write”The result is:”&cStr(s) %> 结果:函数Cstr()将整数5转换成字符”5”. 5.函数Date() 功能:返回当前系统(server端)的日期

格式:Date() 参数:无 例子<%date()%> 结果:05/10/00 6.函数Dateadd() 功能:计算某个指定的时间和 格式:dateadd(timeinterval,number,date) 参数:timeinterval是时间单位(月,日..);number是时间间隔值,date是时间始点. 例子: <% currentDate=#8/4/99# newDate=DateAdd(“m”,3,currentDate) response.write newDate %><% currentDate=#12:34:45PM# newDate=DateAdd(“h”,3,currentDate) response.write newDate %> 结果: 11/4/99 3:34:45PM 其中 “m”=”month”; “d”=”day”; 如果是currentDate格式,则, “h”=”hour”; “s”=”second”; 7.函数Datediff() 功能:计算某量个指定的时间差 格式:datediff(timeinterval,date1,date2[,firstdayofweek[,firstdayofyear]]) 参数:timeinterval是时间单位;date1,date2是有效的日期表达式,firstdayofweek,firstdayofyear是任意选项. 例子: <% fromDate=#8/4/99# toDate=#1/1/2000# response.write”There are”&_ DateDiff(“d”,fromDate,toDate)&_ “days to millenium from8/4/99.” %> 结果:There are150days to millenium from8/4/99. 8.函数day() 功能:返回一个整数值,对应于某月的某日 格式:day(date)

很好的VBS教程(带实例)

很好的VBS教程(带实例) 推荐第一篇: 讲一下VBScript。主要面向菜鸟,懂得编程的朋友就不要浪费时间了,如果你想接触以下VBScript也可以。但既然有编程基础推荐直接去找一些参考书来读。会比较快。 什么是VBScript呢?VBScript的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版)。正如其字面所透露的信息,VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言。我进一步解释一下,Microsoft Visual Basic是微软公司出品的一套可视化编程工具,语法基于Basic.脚本语言,就是不编译成二进制文件,直接由宿主(host)解释源代码并执行,简单点说就是你写的程序不需要编译成.exe,而是直接给用户发送.vbs 的源程序,用户就能执行了。 我知道菜鸟现在最关心的就是用什么工具来开发VBS程序了,答案是:记事本(Notepad).我不是开玩笑,其实任何一种文本编辑器都可以用来开发VBS开发,只不过记事本是由系统自带的,比较好找而已. 尽管如此,我还是建议你去下载一个专业的文本编辑器,因为这些工具可以提供"语法高亮"等功能,更加方便开发,用哪一个随你喜好,我比较喜欢Edit Plus (2.10). OK,我们先来写一个VBScript程序热热身. REM 输入并回显你的名字 '使用InputBox和Msgbox函数 Dim name,msg msg="请输入你的名字:" name=Inputbox(msg,"名称") Msgbox(name) 把上面的程序清单输入到记事本里面,然后保存为以.vbs为扩展名的文件("保存类型"里面选择"所有文件").然后双击运行,观察运行结果. 注意:请自己输入程序清单,不要复制->粘贴! 我来解释一下这个程序,第一行和第二行的开头分别是"REM"语句和" ' ",这两个东西的作用是相同的,表示本行是注释行,就是说这两行什么也不干,只是用来说明这段程序的功能,信息等等. 注释行是程序最重要的部分之一,尽管它不是必需的,但对于其他人阅读源代码,以及自己分析源代码是很有好处的. 好的习惯是在必要的地方加上清晰,简洁的注释。 Dim用来声明一个变量,在VBS中,变量类型并不是那么重要,就是说VBS会帮你自动识别变量类型,而且变量在使用前不一定要先声明,程序会动态分配变量空间. 在VBS 中你不用考虑name储存的是一个整数还是一个小数(学名叫"浮点数"),也不用考虑是不是字符串(一串字符,比如:"Hello World"),VBS会自动帮你搞定. 所以第三行语句可以删除,效果不会变,但我强烈反对这么做,一个变量的基本原则就是:先声明,后使用.变量名用字母开头,可以使用下划线,数字,但不能使用vbs已经定义的字,比如dim,也不能是纯数字。 下一行被称之为"赋值","="是赋值符号,并不是数学中的等于号,尽管看起来一样.这

Vbs脚本编程简明教程

◎Vbs脚本编程简明教程之一—为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来……。这些事情重复、琐碎,使人容易疲劳。 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,我也尝试过使用计算机语言编写程序来解决这些问题,但是随之而来的命令、语法、算法、系统框架和类库常常让我觉得这样是否有必要,难道就是因为猪毛比较难拔,所以我就要去学习机械,为自己设计一个拔猪毛机(?)吗? Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由Windows系统执行(实际是一个叫做宿主host的解释源代码并执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。我个人认为Vbs脚本其实就是一种计算机编程语言,但是由于缺少计算机程序设计语言中的部分要素,对于事件的描述能力较弱,所以称为脚本,它最方便的地方就是提供了对COM 对象的简便支持。那么什么是COM对象呢? 我这样理解,COM对象就是一些具有特定函数功能项程序模块,他们一般以ocx或者dll 作为扩展名,你只要找到包含有你需要的功能的模块文件,并在脚本中规范的引用,就可以实现特定的功能,也就是说Vbs脚本就是调用现成的“控件”作为对象,用对象的属性和方法实现目的,完全免去了编写代码、设计算法等等麻烦。说白了,我不是觉得拔猪毛麻烦么?我发觉xx机(比如真空离心器)有一个功能可以实现脱毛,ok,我把它拿来给猪脱毛。什么?大材小用?太浪费资源了?天哪,那是计算机芯片的事情,死道友不死贫道,反正我的事情是方便快速的解决了,这就行了。 最方便的是它甚至不需要专门的开发环境,在你的计算机中,只要有notepad,就可以编写Vbs脚本了,并且可以直接执行。 Vbs脚本编程简明教程之二—如何开始第一个Vbs脚本? 就像多数计算机教程一样,我们从“Hello World!”程序开始我们的练习。什么?不知道是什么意思?就是说大部分的计算机程序设计教程开篇入门都是编写一个小程序,执行这个程序的结果就是在计算机的屏幕上或者dos窗口中显示一行文字:Hello World!好了,我们开始吧。 打开你的“记事本”程序,在编辑窗口填写: msgbox "Hello World!" 然后用鼠标单击“文件”菜单,单击“保存”,把“保存在”一栏设为桌面,在“文件名”一栏中填写kk.vbs,单击“保存”就可以了。然后最小化“记事本”窗口,在桌面上寻找你刚刚保存的kk.vbs,然后双击。看到弹出的对话框了没有,单击“确定”,对话框消失了。难看了点,不过确实是你编写的第一个脚本程序。 说明之一:上面的操作中,保存位置放在桌面,仅仅是为了执行方便,你保存到其他的地方完全没有问题,只要你知道你保存在什么地方就可以了,什么?是废话,自己保存的当然知道保存在那里了。不,自己保存的文件自己找不到的人我见的多了去了。文件名你可以随意填写,不一定非要写kk,只要符合Windows的文件命名规则就可以了,但是扩展名必须是vbs,什么?不知道什么是扩展名?就是文件名中“.”后的那部分,简单说,就是vbs脚本文件命名时必须是:xxx.vbs,其中xxx你随意。

VBS脚本编程简明教程

第一章VBS脚本编程简明教程 第一节◎Vbs脚本编程简明教程之一—为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来……。这些事情重复、琐碎,使人容易疲劳。 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,我也尝试过使用计算机语言编写程序来解决这些问题,但是随之而来的命令、语法、算法、系统框架和类库常常让我觉得这样是否有必要,难道就是因为猪毛比较难拔,所以我就要去学习机械,为自己设计一个拔猪毛机(?)吗? Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由Windows系统执行(实际是一个叫做宿主host的解释源代码并执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。 我个人认为Vbs脚本其实就是一种计算机编程语言,但是由于缺少计算机程序设计语言中的部分要素,对于事件的描述能力较弱,所以称为脚本,它最方便的地方就是提供了对COM对象的简便支持。那么什么是COM对象呢? 我这样理解,COM对象就是一些具有特定函数功能项程序模块,他们一般以ocx或者dll作为扩展名,你只要找到包含有你需要的功能的模块文件,并在脚本中规范的引用,就可以实现特定的功能,也就是说Vbs脚本就是调用现成的“控件”作为对象,用对象的属性和方法实现目的,完全免去了编写代码、设计算法等等麻烦。说白了,我不是觉得拔猪毛麻烦么?我发觉xx机(比如真空离心器)有一个功能可以实现脱毛,ok,我把它拿来给猪脱毛。什么?大材小用?太浪费资源了?天哪,那是计算机芯片的事情,死道友不死贫道,反正我的事情是方便快速的解决了,这就行了。 最方便的是它甚至不需要专门的开发环境,在你的计算机中,只要有notepad,就可以编写Vbs脚本了,并且可以直接执行。 第二节◎Vbs脚本编程简明教程之二—如何开始第一个Vbs脚本? 就像多数计算机教程一样,我们从“Hello World!”程序开始我们的练习。什么?不知道是什么意思?就是说大部分的计算机程序设计教程开篇入门都是编写一个小程序,执行这个程序的结果就是在计算机的屏幕上或者dos窗口中显示一行文字:Hello World!好了,我们开始吧。 打开你的“记事本”程序,在编辑窗口填写:

vbs基础语法

一、变量 1、注释:(单引号) 2、变量的命名规则:不区分大小写的。用Dim声明变量,此时不能给变量赋值。但是允许在一行代码内同时对两个变量进行赋值,中间用冒号分隔。 3、你可以使用OptionExplicit来告诉宿主变量必须先声明后使用。 4、只有一种变量类型,使用类型转换函数来将变量转换成相应的变量类型。 布尔:Cbool函数将变量转换成布尔值; 整数:Cbyte函数将变量转换为0到255之间的整数。 浮点:Ccur函数、Cdbl函数和Csng函数将变量转换为浮点数值, 日期:Cdate函数将变量转换为日期值。 整数:Cint函数和Clng函数将变量转换为整数,后者的范围比前者要大的多。 字串:Cstr函数将变量转换为字符串。 ------------------------- 三、操作符 在VBScript运算符中,加减乘除都是我们常用的符号, 乘方使用的是^ , 取模使用的Mod。 在比较操作符中,等于、小于、大于、小于等于、大于等于都与我们常用的符号是一致的,而不等于是小于和大于连用。 逻辑运算符为: 和操作—>AND 非操作—>NOT 或操作—>OR;

+ 和操作符 &来连接字符串, Is用来比较对象,例如按钮对象,如果对象是同一类型,结果就是真,--------------------------------------- 四、条件语句 if……then语句, 其基本形式为: If 条件then 处理条件的语句; …… Endif Select case语句, 其基本形式为: Select case 变量 Case 条件值 处理条件语句 并对上两句进行重复 最后一句应为 case else 处理语句 End select 注意:在执行字符串比较时,需要特别注意大小写。

WINCC VBSCRIPT常用函数

WinCC VBscript常用函数 1.数值型函数: abs(num):返回绝对值 sgn(num):num>01;num=00;num<0-1;判断数值正负 hex(num):返回十六进制值直接表示:&Hxx最大8位 oct(num):返回八进制值直接表示:&Oxx最大8位 sqr(num):返回平方根num>0 int(num):取整int(99.8)=99;int(-99.2)=100 fix(num):取整fix(99.8)=99;fix(-99.2)=99 round(num,n):四舍五入取小数位round(3.14159,3)=3.142中点数值四舍五入为近偶取整round(3.25,1)=3.2 log(num):取以e为底的对数num>0 exp(n):取e的n次幂通常用num^n sin(num):三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num);atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置 InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置 space(n):构造n个空格的字符串 string(n,str):构造由n个str第一个字符组成的字符串 StrReverse(str):反转字符串 split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选 3.数据类型转换函数:

VBS脚本运行库手册

◎感谢钱峰2007年05月13日星期日下午04:26学习Vbs,当然是看微软网站上推出的官方教程比较原汁原味,可惜中国vbs学友里看过的恐怕不多,原因很简单,微软的官方原著是英文版的,看起来很费力。 当时,我刚刚发现vbs的妙处,可是除了一本微软的《Microsoft Windows脚本技术.CHM》之外,什么学习资料也找不到,看到网上介绍有一本《windows2000脚本编程实用大全》的书,就跑到各个书店去订书,因为出版的时间太久了,那里都订不到,又跑到各个技术网站上去发帖,希望那位有电子版给我发一份,我愿意用其他方面的技术资料交换,结果如同石沉大海,一点消息也没有,在这里小小鄙视他们一下。 后来偶然在网络上遇到钱峰先生,慷慨赠送了他翻译的微软的官方教程给我,让我迈进了vbs的大门,真是惭愧,由于计算机感染病毒,钱峰先生的邮件地址我也找不到了,只有他的一个qq号码,却从来不见他上线,多次留言,也没有见到他回应,在此对钱峰先生的翻译工作及无偿赠予表示衷心的感谢! 今后一段时间,我将逐步将钱峰先生翻译的微软官方教程贴出,与大家共同温习。 有英文好的朋友可能会发觉这份翻印的教程与微软官方原版并不是完全相同,一是因为钱峰先生翻译的时候大约并没有想到要出版或者与人交流,仅仅是自己学习,所以翻译的比较粗糙,我刚刚得到的时候,很多地方都看的不是很懂,在与微软英文官方教程比较后,按照自己的理解修改了其中的一部分(对其中的有些地方,其实到现在我也还是弄不明白);二是因为外国人行文和思维的方式与中国人有着很大的差别,读起来颇为费力,所以我对其中一些表达方式进行了修改,删除了其中一些我认为无关紧要的东西。各位学友如发现其中的错误请不吝指出,我会尽快修改,语意不祥的地方请参考官方网站:https://www.360docs.net/doc/b19389401.html,/technet/scriptcenter/guide/default.mspx ◎VBS脚本运行库手册之一(磁盘操作)2007年05月13日星期日下午04:36文件系统管理是系统管理的一个关键性任务。WSH 和VB 脚本在这个领域都没有提供相关的功能。幸运的是,你可以通过script runtime 库来管理这些关键的系统组件,比如磁盘,文件夹和文件。此外,script runtime 库提供了从text 文件读写的方法,可以用来创建dictionary和编译脚本。[作者:临汾市外事旅游局薛靖澜,转载请注明出处] 两种主要的脚本语言,VB 脚本语言和JS 脚本语言起初的时候都是设计给客户端来编写IE 的。正是因为如此,这两个脚本语言都有一些局限性。例如VB 脚本和JS 脚本内部都没有提供访问文件管理的一些任务,比如:复制、移动、删除文件等。这样做的目的是为了保护消费者。大多数的的网站不可能让用户通过网页去删除它们硬盘上的东西。尽管如此,脚本已经从类似的HTML 的按钮之类的开始迅速的发展了。随着ASP 的到来,浏览器的编写者要求在server 上管理文件。而随着WSH 的到来,系统管理员要求有在web 浏览器外来管理文件了。作者:临汾市外事旅游局薛靖澜,转载请注明出处] 为了满足这个要求,微软发布的了Script Runtime Library。它是一个单独的DLL 文件,scrrun.dll 文件,用来给脚本的编写者们提供一些文件管理的能力,包括以下内容:作者:

VBS常用函数

WinCC VBscript常用标准函数总结 在WinCC软件中使用VBS进行编程的时候常常使用的标准函数整理如下: 数值型函数: abs(num): 返回绝对值 sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负 hex(num): 返回十六进制值直接表示:&Hxx 最大8位 oct(num): 返回八进制值直接表示:&Oxx 最大8位 sqr(num): 返回平方根num>0 int(num): 取整int(99.8)=99; int(-99.2)=100 fix(num): 取整fix(99.8)=99; fix(-99.2)=99 round(num,n): 四舍五入取小数位round(3.14159,3)=3.142 中点数值四舍五入为近偶取整round(3.25,1)=3.2 log(num): 取以e为底的对数num>0 exp(n): 取e的n次幂通常用num^n sin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0)

VBS脚本常用代码大全2011整理

VBS脚本常用经典代码收集于2011年7月2日21:13:37整理 在网上查找资料的时候发现好多经典的vbs 代码,收集起来也为了以后学习。 VBS播放音乐 Dimwmp Setwmp=CreateObject("WMPlayer.OCX") wmp.openState wmp.URL二'想象之中.mp3" DoUntilwmp.playState=1 WScript.Sleep1000 Loop 比较流行的VBS整人脚本(保存为礼物.VBE”这样就可以通过QQ发送 了)Setshell二CreateObject("WScript.Shell") shell.run"shutdown-s-t60-c 系统即将关闭.",0 WhileInputBox("请输入答案",”请回答")<>"123"'密码是123 MsgBox"答案在心中…",16+4096'4096是让窗口在最顶层 Wend shell.run"shutdown-a",0 MsgBox"恭喜",64 修改桌面背景图片 Sphoto二"d:\1.bmp"'输入你自己的BMP路径 Consthkcu=&h80001 Setwmi=GetObject("winmgmts:

stdregprov")wmi.getstringvaluehkcu,"ControlPanel\Desktop","Wallpaper",Spathwmi. setstringvaluehkcu,"ControlPanel\Desktop","TileWallpaper","0"wmi.setstringvaluehk cu,"ControlPanel\Desktop","WallpaperStyle","2"wmi.setdwordvalue hkcu,"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Listvi ewShadow",1 Setwmi=Nothing Setfso=CreateObject("scripting.filesystemobject") Setfs=fso.Getfile(Sphoto) backname=https://www.360docs.net/doc/b19389401.html, https://www.360docs.net/doc/b19389401.html,=fso.GetFileName(Spath) fs.Copyfso.GetParentFolderName(Spath)&"\",True https://www.360docs.net/doc/b19389401.html,=backname Setfso=Nothing Setws=CreateObject("wscript.shell") ws.Run"gpupdate/force",vbhide ws.Run"RunDll 32.exeUSER 32.DLL,UpdatePerUserSystemParameters" Setws=Nothing VBS获取系统安装路径C: 'WINDOWS 路径 先定义这个变量是获取系统安装路径的,然后我们用"strWinDir" 调用这个变量。 SetWshShell=WScript.CreateObject("WScript.Shell") strWinDir=WshShell.ExpandEnvironmentStrings("%WinDir%")

相关文档
最新文档