欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VBS常用脚本 好东西

程序员文章站 2022-04-28 16:54:17
将 域用户或租添加到本地组 set objgroup = getobject(winnt://./administrators) set&nb...

域用户或租添加到本地组
set objgroup = getobject(winnt://./administrators)
set objuser = getobject(winnt://testnet/engineers)
objgroup.add(objuser.adspath)

修改本地管理员密码
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)
if intanswer = vbyes then 
msgbox you answered yes.
else msgbox you answered no. 
end if

运行cmd命令行命令
set obshell=wscript.createobject(wscript.shell)
obshell.run (ipconfig),,true
如果要运行的命令中包含双引号,可使用&chr(34)&代替

忽略代码错误继续执行
on error resume next
放置于代码的最开头,当代码运行出错后并不停止跳出而是继续执行下一条。适当应用会很有效果。

注册表的修改,读取,删除,创建
set wso = createobject(wscript.shell) '声明
wso.regwrite %path%'创建子键
wso.regwrite %path%,%value%'修改默认键值
wso.regwrite %path%,%value%,%regtype% '修改特定类型的键值
'(字符串值 reg_sz 可扩充字符串值 reg_expand_sz dword值 reg_dword 二进制值 reg_binary)

set wshshell= wscript.createobject(wscript.shell)
wshshell.regread (%path%) '读取注册表子键或键值(一般用于判断某一事件是否执行)

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
wso.regwrite hklm\software\microsft\windows nt\#1\#2,0,reg_binary
wso.regdelete hklm\software\microsft\windows nt\#1
wscript.quit


文件的复制,删除,创建,简单的写入
set fso = wscript.createobject(scripting.filesystemobject) ‘声明
set f = fso.createtextfile(%path%) '创建文件,其中f可任意,包含缩略名
f.writeline(vbs) '写文件内容,该命令功能太简单,目前看来只能用于txt文件
f.close
set c=fso.getfile(%path%) '拷贝某文件
c.copy(%path2%) '拷贝文件到指定地点
fso.deletefile(%path%) '删除文件
wscript.quit

引用内容
eg.
set fso = wscript.createobject(scripting.filesystemobject)
set f=fso.createtextfile(c:\sample.txt)
writeline(vbs)
f.close
set e=fso.getfile(c:\sample.txt)
e.copy(d:\sample.txt)
fso.deletefile(c:\sample.txt)
wscript.quit


向应用程序输出简单的连串指令
dim program1 '声明变量program1
program1= %path% '应用程序路径
set wshshell=createobject(wscript.shell) '声明饮用函数
set oexec=wshshell.exec(program1) '运行程序
wscript.sleep 2000 '(该行命令未知作用.估计是设定延迟,请高手指点)
wshshell.appactivate %windowsname% '激活运用程序窗口
wshshell.sendkeys +{%keyboardname%} '第一次输出键盘按键指令前要加+
wshshell.sendkeys 555555 '在程序输入栏中输入运用该系列命令须首先确定程序可以实施连串的键盘操作,这在qq登录中最适用,如下例。

引用内容
eg.
dim program1
program1=d:\program files\tencent\coralqq.exe
set wshshell=createobject(wscript.shell)
set oexec=wshshell.exec(program1)
wscript.sleep 2000
wshshell.appactivate qq登录
wshshell.sendkeys +{tab}
wshshell.sendkeys 250481892
wscript.sleep 2000
wshshell.sendkeys {tab}
wshshell.sendkeys ****************
wscript.sleep 2000
wshshell.sendkeys {enter}
wscript.quit


文件夹的简单操作
set fso = wscript.createobject(scripting.filesystemobject) ‘声明
set f = fso.createfolder(%path%) 创建文件夹
set e = getfolder(%path%) 类似于“绑定目标”
e.copy(%path2%) 复制文件夹
fso.deletefolder(%path%) 删除文件夹

引用内容
eg.
set fso = wscript.createobject(scripting.filesystemobject)
set f = fso.createobject(c:\sample)
f.copy(d:\sample)
fso.deletefolder(c:\sample)

'(由上例可以看出,文件夹的操作很多是和文件的操作相通的,因此vbs文件具有很多命令的统一性)

将某一指定文件夹的所有只读文件转为可读文件
const readonly = 1 ‘设只读属性对应值为1

set fso = createobject(scripting.filesystemobject) '声明
set folder = fso.getfolder(%path%) '绑定文件夹
set colfiles = folder.files ‘文件夹所有文件

for each objfile in colfiles '下列语句应用于文件夹所有文件
if file.attributes and readonly then '这是关键之处,这里应用了if判断语句,来检测文件属性是否为只读
file.attributes = file.attributes xor readonly ‘对判断结果为ture(默认为true)'执行xor逻辑运算,将其改为可读
end if ‘结束判断
next

将word文件另存为文本文件
const wdformattext = 2 '设置常数值
(当该值为8时另存为html文档,为11时另存为xml文档)
set objword = createobject(word.application) '申明调用函数
set objdoc = objword.documents.open(%path%) ‘打开某doc文件
objdoc.saveas %path2%, wdformattext 另存为……
objword.quit

引用内容
eg:
const wdformattext = 2
set objword = createobject(word.application)
set objdoc = objword.documents.open(d:\doc1.doc)
objdoc.saveas g:\doc1.txt, wdformattext
objword.quit