将域用户或租添加到本地组
SetobjGroup=GetObject("WinNT://./Administrators")
SetobjUser=GetObject("WinNT://testnet/Engineers")
objGroup.Add(objUser.ADsPath)
修改本地管理员密码
Setobjcnlar=GetObject("WinNT://./administrator,user")
objcnla.SetPassword"P@ssW0rd"
objcnla.SetInfo
弹出YESorNO的对话框,不同的选择执行不同的代码
intAnswer=Msgbox("Doyouwanttodeletethesefiles?",vbYesNo,
"DeleteFiles")
IfintAnswer=vbYesThen
Msgbox"Youansweredyes."
ElseMsgbox"Youansweredno."
EndIf
运行CMD命令行命令
setobshell=wscript.createobject("wscript.shell")
obshell.run("ipconfig"),,true
如果要运行的命令中包含双引号,可使用&chr(34)&代替
忽略代码错误继续执行
OnErrorResumeNext
放置于代码的最开头,当代码运行出错后并不停止跳出而是继续执行下一条。适当应用会很有效果。
注册表的修改/读取/删除/创建
Setwso=CreateObject("WScript.Shell")'声明
wso.RegWrite"%Path%"'创建子键
wso.RegWrite"%Path%","%Value%"'修改"默认"键值
wso.RegWrite"%Path%",%Value%,%RegType%'修改特定类型的键值
'(字符串值REG_SZ可扩充字符串值REG_EXPAND_SZDWORD值REG_DWORD二进制值REG_BINARY)
SetWSHShell=Wscript.CreateObject("Wscript.Shell")
WSHShell.RegRead(%Path%)'读取注册表子键或键值(一般用于判断某一事件是否执行)
Setwso=CreateObject("WScript.Shell")
wso.RegDelete"%Path%"'删除子键或键值
'(根键缩写HKEY_CLASSES_ROOTHKCRHKEY_CURRENT_USERHKCUHKEY_LOCAL_MACHINEHKLM,其余无)
程序代码
Setwso=CreateObject("Wscript.Shell")
wso.RegWrite"HKLMSOFTWAREMicrosftWindowsNT#1"
wso.RegWrite"HKLMSOFTWAREMicrosftWindowsNT#1","0"
wso.RegWrite"HKLMSOFTWAREMicrosftWindowsNT#1#2",0,REG_BINARY
wso.RegDelete"HKLMSOFTWAREMicrosftWindowsNT#1"
Wscript.quit
文件的复制/删除/创建/简单的写入
Setfso=Wscript.CreateObject("Scripting.FileSystemObject")'声明
Setf=fso.CreateTextFile("%PATH%")'创建文件,其中f可任意,包含缩略名
f.WriteLine("VBS")'写文件内容,该命令功能太简单,目前看来只能用于TXT文件
f.Close
setc=fso.getfile("%path%")'拷贝某文件
c.copy("%PATH2%")'拷贝文件到指定地点
fso.deletefile("%PATH%")'删除文件
Wscript.quit
程序代码
Setfso=Wscript.CreateObject("Scripting.FileSystemObject")
Setf=fso.CreateTextFile("C:Sample.txt")
WriteLine("VBS")
f.close
sete=fso.getfile(C:Sample.txt)
e.copy("D:Sample.txt")
fso.deletefile(C:Sample.txt)
Wscript.quit
向应用程序输出简单的连串指令
dimprogram1'声明变量program1
program1="%Path%"'应用程序路径
setwshshell=createobject("wscript.shell")'声明饮用函数
setoexec=wshshell.exec(program1)'运行程序
wscript.sleep2000'(该行命令未知作用.估计是设定延迟,请高手指点)
wshshell.appactivate"%WindowsName%"'激活运用程序窗口
wshshell.sendkeys"+{%KeyBoardName%}"'第一次输出键盘按键指令前要加+
wshshell.sendkeys"555555"'在程序输入栏中输入运用该系列命令须首先确定程序可以实施连串的键盘操作,这在QQ登录中最适用,如下例。
程序代码
dimprogram1
program1="D:ProgramFilesTencentcoralQQ.exe"
setwshshell=CreateObject("wscript.shell")
setoexec=wshshell.exec(program1)
wscript.sleep2000
wshshell.appactivate"QQ登录"
wshshell.sendkeys"+{TAB}"
wshshell.sendkeys"250481892"
wscript.sleep2000
wshshell.sendkeys"{TAB}"
wshshell.sendkeys"****************"
wscript.sleep2000
wshshell.sendkeys"{ENTER}"
Wscript.quit
文件夹的简单操作
Setfso=Wscript.CreateObject("Scripting.FileSystemObject")'声明
Setf=fso.CreateFolder("%PATH%")创建文件夹
Sete=getFolder(%PATH%)类似于"绑定目标"
e.copy("%PATH2%")复制文件夹
fso.deletefolder(%PATH%)删除文件夹
程序代码
Setfso=Wscript.CreateObject("Scripting.FileSystemObject")
Setf=fso.CreateObject("C:sample")
f.copy("D:sample")
fso.deletefolder("C:sample")
'(由上例可以看出,文件夹的操作很多是和文件的操作相通的,因此VBS文件具有很多命令的统一性)
将某一指定文件夹的所有只读文件转为可读文件
ConstReadOnly=1'设只读属性对应值为1
SetFSO=CreateObject("Scripting.FileSystemObject")'声明
SetFolder=FSO.GetFolder("%PATH%")'绑定文件夹
SetcolFiles=Folder.Files'文件夹所有文件
ForEachobjFileincolFiles'下列语句应用于文件夹所有文件
IfFile.AttributesANDReadOnlyThen'这是关键之处,这里应用了If判断语句,来检测文件属性是否为只读
File.Attributes=File.AttributesXORReadOnly
'对判断结果为Ture(默认为True)'执行XOR逻辑运算,将其改为可读
EndIf'结束判断
Next
将Word文件另存为文本文件
ConstwdFormatText=2'设置常数值
(当该值为8时另存为HTML文档,为11时另存为XML文档)
SetobjWord=CreateObject("Word.Application")'申明调用函数
SetobjDoc=objWord.Documents.Open("%Path%")'打开某DOC文件
objDoc.SaveAs"%PATH2%",wdFormatText另存为……
objWord.Quit
程序代码
ConstwdFormatText=2
SetobjWord=CreateObject("Word.Application")
SetobjDoc=objWord.Documents.Open("d:doc1.doc")
objDoc.SaveAs"g:doc1.txt",wdFormatText
objWord.Quit