Board logo

标题: [转贴] VBS脚本在系统管理员、文件管理中的常用代码 [打印本页]

作者: find    时间: 2012-3-1 22:43     标题: VBS脚本在系统管理员、文件管理中的常用代码

将域用户或租添加到本地组
  1. Set objGroup = GetObject("WinNT://./Administrators")
  2. Set objUser = GetObject("WinNT://testnet/Engineers")
  3. objGroup.Add(objUser.ADsPath)
复制代码

修改本地管理员密码
  1. Set objcnlar = GetObject("WinNT://./administrator, user")
  2. objcnla.SetPassword " P@ssW0rd "
  3. objcnla.SetInfo
复制代码

弹出 YES or NO 的对话框,不同的选择执行不同的代码
  1. intAnswer = Msgbox("Do you want to delete these files?", vbYesNo,
  2. "Delete Files")
  3. If intAnswer = vbYes Then
  4. Msgbox "You answered yes."
  5. Else Msgbox "You answered no."
  6. End If
复制代码

运行CMD命令行命令
  1. set obshell=wscript.createobject("wscript.shell")
  2. obshell.run ("ipconfig"),,true
复制代码

如果要运行的命令中包含双引号,可使用&chr(34)&代替
忽略代码错误继续执行
  1. On Error Resume Next
复制代码

放置于代码的最开头,当代码运行出错后并不停止跳出而是继续执行下一条。适当应用会很有效果。
注册表的修改/读取/删除/创建
  1. Set wso = CreateObject("WScript.Shell") '声明
  2. wso.RegWrite "%Path%"'创建子键
  3. wso.RegWrite "%Path%","%Value%"'修改"默认"键值
  4. wso.RegWrite "%Path%",%Value%,%RegType% '修改特定类型的键值
  5. '(字符串值 REG_SZ 可扩充字符串值 REG_EXPAND_SZ DWORD值 REG_DWORD 二进制值 REG_BINARY)
  6. Set WSHShell= Wscript.CreateObject("Wscript.Shell")
  7. WSHShell.RegRead (%Path%) '读取注册表子键或键值(一般用于判断某一事件是否执行)
  8. Set wso = CreateObject("WScript.Shell")
  9. wso.RegDelete "%Path%" '删除子键或键值
  10. '(根键缩写HKEY_CLASSES_ROOT HKCR HKEY_CURRENT_USER HKCU HKEY_LOCAL_MACHINE HKLM,其余无)
复制代码


程序代码
  1. Set wso = CreateObject("Wscript.Shell")
  2. wso.RegWrite "HKLMSOFTWAREMicrosftWindows NT#1"
  3. wso.RegWrite "HKLMSOFTWAREMicrosftWindows NT#1","0"
  4. wso.RegWrite "HKLMSOFTWAREMicrosftWindows NT#1#2",0,REG_BINARY
  5. wso.RegDelete "HKLMSOFTWAREMicrosftWindows NT#1"
  6. Wscript.quit
复制代码


文件的复制/删除/创建/简单的写入
  1. Set fso = Wscript.CreateObject("Scripting.FileSystemObject") '声明
  2. Set f = fso.CreateTextFile("%PATH%") '创建文件,其中f可任意,包含缩略名
  3. f.WriteLine("VBS") '写文件内容,该命令功能太简单,目前看来只能用于TXT文件
  4. f.Close
  5. set c=fso.getfile("%path%") '拷贝某文件
  6. c.copy("%PATH2%") '拷贝文件到指定地点
  7. fso.deletefile("%PATH%") '删除文件
  8. Wscript.quit
复制代码


程序代码
  1. Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
  2. Set f=fso.CreateTextFile("C:Sample.txt")
  3. WriteLine("VBS")
  4. f.close
  5. set e=fso.getfile(C:Sample.txt)
  6. e.copy("D:Sample.txt")
  7. fso.deletefile(C:Sample.txt)
  8. Wscript.quit
复制代码


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


程序代码
  1. dim program1
  2. program1="D:Program FilesTencentcoralQQ.exe"
  3. set wshshell=CreateObject("wscript.shell")
  4. set oexec=wshshell.exec(program1)
  5. wscript.sleep 2000
  6. wshshell.appactivate "QQ登录"
  7. wshshell.sendkeys "+{TAB}"
  8. wshshell.sendkeys "250481892"
  9. wscript.sleep 2000
  10. wshshell.sendkeys "{TAB}"
  11. wshshell.sendkeys "****************"
  12. wscript.sleep 2000
  13. wshshell.sendkeys "{ENTER}"
  14. Wscript.quit
复制代码


文件夹的简单操作
  1. Set fso = Wscript.CreateObject("Scripting.FileSystemObject") '声明
  2. Set f = fso.CreateFolder("%PATH%") 创建文件夹
  3. Set e = getFolder(%PATH%) 类似于"绑定目标"
  4. e.copy("%PATH2%") 复制文件夹
  5. fso.deletefolder(%PATH%) 删除文件夹
复制代码


程序代码
  1. Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
  2. Set f = fso.CreateObject("C:sample")
  3. f.copy("D:sample")
  4. fso.deletefolder("C:sample")
复制代码


'(由上例可以看出,文件夹的操作很多是和文件的操作相通的,因此VBS文件具有很多命令的统一性)
将某一指定文件夹的所有只读文件转为可读文件
  1. Const ReadOnly = 1 '设只读属性对应值为1
  2. Set FSO = CreateObject("Scripting.FileSystemObject") '声明
  3. Set Folder = FSO.GetFolder("%PATH%") '绑定文件夹
  4. Set colFiles = Folder.Files '文件夹所有文件
  5. For Each objFile in colFiles '下列语句应用于文件夹所有文件
  6. If File.Attributes AND ReadOnly Then '这是关键之处,这里应用了If判断语句,来检测文件属性是否为只读
  7. File.Attributes = File.Attributes XOR ReadOnly
  8. '对判断结果为Ture(默认为True)'执行XOR逻辑运算,将其改为可读
  9. End If '结束判断
  10. Next
复制代码

将Word文件另存为文本文件
  1. Const wdFormatText = 2 '设置常数值
  2. (当该值为8时另存为HTML文档,为11时另存为XML文档)
  3. Set objWord = CreateObject("Word.Application") '申明调用函数
  4. Set objDoc = objWord.Documents.Open("%Path%") '打开某DOC文件
  5. objDoc.SaveAs "%PATH2%", wdFormatText 另存为……
  6. objWord.Quit
复制代码


程序代码
  1. Const wdFormatText = 2
  2. Set objWord = CreateObject("Word.Application")
  3. Set objDoc = objWord.Documents.Open("d:doc1.doc")
  4. objDoc.SaveAs "g:doc1.txt", wdFormatText
  5. objWord.Quit
复制代码


http://dongbian.blog.51cto.com/2694115/702353




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2