.vbs文件用什么打开方式打开,我是要运行它

.vbs文件用什么打开方式打开,我是要运行它,第1张

1、右击任意vbs格式文件,在展开的菜单中点击“属性”按钮打开文件的属性界面:

2、打开属性界面后,点击窗口中打开方式后面的“更改”按钮选择文件的打开方式:

3、在d窗的窗口后向下拉动列表,然后点击最底部的“在这台电脑上查找其他应用”按钮:

4、在d出的窗口中找到C盘“windows/System32”文件夹下的“wscriptexe”文件,双击这个文件,此时双击vbs格式文件即可直接运行:

VBS 取得本机IP

strComputer = ""

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set IPConfigSet = objWMIServiceExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")

For Each IPConfig in IPConfigSet

If Not IsNull(IPConfigIPAddress) Then

For Each strAddress in IPConfigIPAddress

WScriptEcho strAddress

Next

End If

Next

2 取得本机计算机名

strComputer = ""

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colComputers = objWMIServiceExecQuery("Select from Win32_ComputerSystem")

For Each objComputer in colComputers

WscriptEcho objComputerName

Next

--------------------------------------------------------------------------------

4 检查升级包

strComputer = ""

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colOperatingSystems = objWMIServiceExecQuery("Select from Win32_OperatingSystem")

For Each objOperatingSystem in colOperatingSystems

WscriptEcho objOperatingSystemServicePackMajorVersion & "" & objOperatingSystemServicePackMinorVersion

Next

--------------------------------------------------------------------------------

5 检查 Hot Fix

strComputer = ""

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colQuickFixes = objWMIServiceExecQuery ("Select from Win32_QuickFixEngineering")

For Each objQuickFix in colQuickFixes

WscriptEcho "Description: " & objQuickFixDescription

WscriptEcho "Hot Fix ID: " & objQuickFixHotFixID

Next

--------------------------------------------------------------------------------

6 检查本地管理员数目

Set objNetwork = CreateObject("WscriptNetwork")

strComputer = objNetworkComputerName

Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators,group")

For Each objUser in objGroupMembers

WscriptEcho objUserName

Next

--------------------------------------------------------------------------------

7 磁盘系统

strComputer = ""

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colDisks = objWMIServiceExecQuery("Select from Win32_LogicalDisk Where DriveType = 3")

For Each objDisk in colDisks

WscriptEcho "Disk drive: "& objDiskDeviceID & " -- " & objDiskFileSystem

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"

objRegGetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName,dwValue

If dwValue = 1 Then

WscriptEcho "Auto logon is enabled"

Else

WscriptEcho "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

oRegSetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, dwValue

--------------------------------------------------------------------------------

10 检查Guest是否禁用

Set objNetwork = CreateObject("WscriptNetwork")

strComputer = objNetworkComputerName

Set objUser = GetObject("WinNT://" & strComputer & "/Guest")

If objUserAccountDisabled Then

WscriptEcho "The Guest account is disabled"

Else

WscriptEcho "The Guest account is enabled"

End If

--------------------------------------------------------------------------------

11 关闭Guest

Set objNetwork = CreateObject("WscriptNetwork")

strComputer = objNetworkComputerName

Set objUser = GetObject("WinNT://" & strComputer & "/Guest")

If objUserAccountDisabled Then

WscriptEcho "The Guest account is already disabled"

Else

objUserAccountDisabled = True

objUserSetInfo

WscriptEcho "The Guest account has been disabled"

End If

--------------------------------------------------------------------------------

12 检索本地共象

strComputer = ""

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colShares = objWMIServiceExecQuery("Select from Win32_Share")

For each objShare in colShares

WscriptEcho "Name: " & objShareName

WscriptEcho "Path: " & objSharePath

WscriptEcho "Type: " & objShareType

Next

--------------------------------------------------------------------------------

13 脚本检索一个文件夹下txt文件 汗哦 值得学习

Set objWMIService = GetObject("winmgmts:\\\root\cimv2")

Set colFiles = objWMIServiceExecQuery("SELECT FROM CIM_DataFile WHERE Path = '\\Documents and Settings\\Administrator\\桌面\\' AND Drive = 'E:' AND Extension = 'txt'")

WscriptEcho "Number of txt files found: " & colFilesCount

for each aa in colFiles

NL=NL & vbcrlf & aaname

next

WscriptEcho NL

--------------------------------------------------------------------------------

14 我如何向用户显示一个用来选择文件的对话框?

问:

嗨,Scripting Guy!有没有什么方法可以让我使用脚本向用户显示一个对话框,供用户选择文件使用?

-- BF

答:

您好,BF。如果您使用的是 Windows 2000,我们不知道实现此 *** 作的方法,至少 *** 作系统中没有内置这样的方法。

但如果您使用的是 Windows XP,情况就不同了。在 Windows XP 上,

您可以使用“UserAccountsCommonDialog”对象向用户显示一个标准的“文件打开”对话框。可以用类似以下代码的脚本:

Set objDialog = CreateObject("UserAccountsCommonDialog")

objDialogFilter = "All Files|" objDialogInitialDir = "C:\" intResult = objDialogShowOpen

If intResult = 0 Then WscriptQuit Else WscriptEcho objDialogFileName End If

这是一个小脚本,所以让我们逐行进行解释吧。我们首先创建一个对 UserAccountsCommonDialog

对象的对象引用(名为“objDialog”)。接着,我们设置对话框的“筛选”属性。我们要显示所有文件,

所以我们将筛选设置成这样:

objDialogFilter = "All Files|"

假如我们只想显示文本文件,那该怎么办?在这种情况下,我们将使用以下筛选:

objDialogFilter = "Text Files|txt"

您也许能够看出它是如何运行的:我们为文件类型提供说明 (Text Files),然后插入一个竖线分隔符 (|),

最后使用标准的通配符来指示所有 txt 文件 (txt)。是不是想默认显示 txt 文件,然后为用户提供查看所有文件的选项?

那么可以使用以下代码:

objDialogFilter = "Text Files|txt|All Files|"

试一试,您就明白我们的意思了。

然后,我们指定默认文件夹。默认情况下,我们希望对话框显示位于驱动器 C 的根文件夹中的文件,

所以我们这样设置“InitialDir”属性:

objDialogInitialDir = "C:\"

希望显示 C:\Windows 文件夹中的文件吗?那么可以使用以下代码:

objDialogInitialDir = "C:\Windows"

不必担心:这是一个真正的“文件打开”对话框,所以您可以随意单击,并且可以随时停下来。

您从 C:\Windows 开始并不意味着您只能打开该文件夹中的文件。

最后,我们使用下面这行代码显示对话框:

intResult = objDialogShowOpen

现在,我们只需坐下来,等待用户选择文件并单击“确定”(或者等待用户单击“取消”)。如果用户单击“取消”,

则变量 intResult 将被设置为 0。在我们的脚本中,我们检查 intResult 的值,如果是 0,

我们将只需要使用 WscriptQuit 来终止此脚本。

但是如果用户实际上选择了文件并单击了“确定”,那该怎么办?在这种情况下,intResult 将被设置为 -1,

“FileDialog”属性将被设置为所选文件的路径名。我们的脚本只回显路径名,这意味着我们将得到类似以下内容的输出:

C:\WINDOWS\Prairie Windbmp

不用说,您并不局限于只回显文件路径。实际上,您可以使用 WMI、FileSystemObject 或一些其他技术来绑定该文件,

然后对其执行删除、复制、压缩或检索文件属性等 *** 作 — 您对文件能够执行的 *** 作差不多都可以对它执行。

但无论如何,您都需要使用脚本。

顺便说一句,使用此方法,您一次只能选择一个文件,而不能按住“Ctrl”键选择多个文件。有一种方法可以选择多个文件,

至少在 XP 计算机上可以,但是我们只能将此问题留到以后的专栏中讨论了。

--------------------------------------------------------------------------------

15 我如何确定进程是在哪个帐户下运行的?

问:

嗨,Scripting Guy!我有一个脚本,它返回关于计算机上运行的所有进程的信息,

只是我不知道如何获得这些进程在其下运行的用户帐户的名称。您可以帮助我吗?

-- DL

答:

您好,DL。是的,我们可以帮助您。确定进程是在哪个帐户下运行的,实际上相当简单,

只是如何着手执行此 *** 作并不是特别显而易见的。如果您与大多数人一样,

那么您可能会通过扫描 Win32_Process 类的属性来查找名为 Account 或 UserName 或类似的属性。您很有可能找不到。

出现这种情况的原因是:Win32_Process 没有可以告诉您进程在哪个帐户下运行的属性。

您需要使用“GetOwner”方法来捕捉此信息。下面这个脚本可以告诉您 Microsoft Word (Winwordexe) 在哪个帐户下运行:

strComputer = ""Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIServiceExecQuery _ ("Select from Win32_Process Where Name = 'Winwordexe'")

For Each objProcess in colProcessList objProcessGetOwner strUserName, strUserDomain WscriptEcho "Process " & objProcessName & " is owned by " _ & strUserDomain & "\" & strUserName & ""Next

我们最感兴趣的是下面这行代码:

objProcessGetOwner strNameOfUser, strUserDomain

我们在此所做的就是调用“GetOwner”方法。GetOwner 返回两个“输出参数”,

一个返回负责该进程的用户的名称,一个返回该用户所属的域。为捕获这两个输出参数,我们需要为 GetOwner 方法提供两个变量。

在这个示例脚本中,我们使用了两个分别叫做 strUserName 和 strUserDomain 的变量。名称可以随意选择;您可以将变量称为 A 和 B 或 X 和 Y 或任何其他您想要的名称。

不过,变量的顺序不能随意设置:返回的第一个值总是用户名,第二个值总是域。这意味着,如果您希望用 X 表示用户名,用 Y 表示域,那么您要确保您的代码像下面这行代码一样:

objProcessGetOwner X, Y

调用 GetOwner 之后,我们就可直接回显进程名和所有者。请注意,我们可以稍微来点儿花样儿 – 使用域\用户格式。这样,我们就可以回显类似于“fabrikam\kenmyer”的名称。

下面附带提供了另一个脚本,该脚本可以列出计算机上的所有进程以及各个进程的所有者:

strComputer = ""Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIServiceExecQuery _ ("Select from Win32_Process")

For Each objProcess in colProcessList objProcessGetOwner strUserName, strUserDomain WscriptEcho "Process " & objProcessName & " 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 对象模型的内置功能,将字符串复制到剪贴板;

特别是, 可以使用 clipboardDataSetData 方法来实现这个技巧。将某些数据复制到剪贴板的示例脚本如下:

strCopy = "This text has been copied to the clipboard"

Set objIE = CreateObject("InternetExplorerApplication")

objIENavigate("about:blank")

objIEdocumentparentwindowclipboardDataSetData "text", strCopy

objIEQuit

运行脚本,然后打开 Notepad,然后单击“粘贴”;应该可以看到所复制的字符串。

顺便说一下,所有这一切都是在“幕后”发生的,Internet Explorer 并不会真的出现在屏幕上。

这是因为,在默认情况下,通过脚本创建的任何 IE 实例在运行时都是隐藏的,除非您利用如下语句将其显示出来:

objIEVisible = True

以管理员权限运行。

使用系统的caclsexe来修改权限。

我给的例子是允许everyone对D:\Test拥有完全控制权限的意思

Dim fso, path, Cmd

path = "D:\Test"

Cmd = "cacls " & """" & path & """" & " /e /G everyone:F"

set fso = CreateObject("ScriptingFileSystemObject")

CreateObject("wscriptshell")run Cmd, 0

Set fso = nothing

以下是caclsexe的使用方法

>

合用请采纳!谢谢。

Dim fso,file,msg,a rem 定义变量

Set fso=CreateObject("ScriptingFileSystemObject") rem 引用对象 该对象提供对计算机文件系统的访问

Set file=fsoOpenTextFile("z:\1txt",1,True) rem 使用OpenTextFile 方法 读取文本内容

Do While Not fileAtEndOfStream

rem AtEndOfStream属性如果文件指针正好位于 TextStream 文件中的结尾,则rem 返回true,否则返回 false

rem(Do While Not fileAtEndOfStream 也就是说循环读取文本文件直到文件的结尾)

msg=fileReadLine rem 将读到的行内容赋值给变量msg

a=split(msg," ") rem split函数 以一个空格为界分离该字符串变量

Loop

fileClose ' 关闭该引用对象

set file=Nothing rem 释放对象

set fso=Nothing

msgbox a(0) rem d出对话框 显示第一个单词

msgbox a(1) rem d出对话框 显示第二个单词

dim wsnet

set wsnet=wscriptcreateobject("wscriptnetwork") rem 引用对象

msgbox "用户名:" & wsnetusername rem 对象属性

以上就是关于.vbs文件用什么打开方式打开,我是要运行它全部的内容,包括:.vbs文件用什么打开方式打开,我是要运行它、VBS详细教程、vbs如何更改文件夹属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9712015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存