VBS常用脚本 好东西

时间:2021-05-22


域用户或租添加到本地组
SetobjGroup=GetObject(WinNT://./Administrators)
SetobjUser=GetObject(WinNT://testnet/Engineers)
objGroup.Add(objUser.ADsPath)

修改本地管理员密码
Setobjcnlar=GetObject(WinNT://./administrator,user)
objcnla.SetPasswordP@ssW0rd
objcnla.SetInfo

弹出YESorNO的对话框,不同的选择执行不同的代码
intAnswer=Msgbox(Doyouwanttodeletethesefiles?,vbYesNo,DeleteFiles)
IfintAnswer=vbYesThen
MsgboxYouansweredyes.
ElseMsgboxYouansweredno.
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,其余无)

引用内容
eg:
Setwso=CreateObject(Wscript.Shell)
wso.RegWriteHKLM\SOFTWARE\Microsft\WindowsNT\#1
wso.RegWriteHKLM\SOFTWARE\Microsft\WindowsNT\#1,0
wso.RegWriteHKLM\SOFTWARE\Microsft\WindowsNT\#1\#2,0,REG_BINARY
wso.RegDeleteHKLM\SOFTWARE\Microsft\WindowsNT\#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

引用内容
eg.
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.sendkeys555555'在程序输入栏中输入运用该系列命令须首先确定程序可以实施连串的键盘操作,这在QQ登录中最适用,如下例。

引用内容
eg.
dimprogram1
program1=D:\ProgramFiles\Tencent\coralQQ.exe
setwshshell=CreateObject(wscript.shell)
setoexec=wshshell.exec(program1)
wscript.sleep2000
wshshell.appactivateQQ登录
wshshell.sendkeys+{TAB}
wshshell.sendkeys250481892
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%)删除文件夹

引用内容
eg.
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

引用内容
eg:
ConstwdFormatText=2
SetobjWord=CreateObject(Word.Application)
SetobjDoc=objWord.Documents.Open(d:\doc1.doc)
objDoc.SaveAsg:\doc1.txt,wdFormatText
objWord.Quit

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章