我需要以编程方式获取正在运行的应用程序列表,如Windows任务管理器中使用PowerShell或VBScript的"应用程序"选项卡中所示.
到目前为止我所能找到的是如何使用VBScript和WMI列出进程.
我找到了一种在VBScript中扩展类的方法,但有没有办法传入参数或重载构造函数?我目前正在使用Init函数来初始化属性,但是我希望能够在创建对象时执行此操作.
这是我的示例类:
Class Test
Private strText
Public Property Get Text
Text = strText
End Property
Public Property Let Text(strIn)
strText = strIn
End Property
Private Sub Class_Initialize()
Init
End Sub
Private Sub Class_Terminate()
End Sub
Private Function Init
strText = "Start Text"
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
我创造了它
Set objTest = New Test
Run Code Online (Sandbox Code Playgroud)
但是想做这样的事情
Set objTest = New Test(strInitText)
Run Code Online (Sandbox Code Playgroud)
这是可能的,还是必须在两个setps中创建和初始化对象?
我有这个VBScript代码来终止一个进程
Const strComputer = "."
Dim objWMIService, colProcessList
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Process.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
Run Code Online (Sandbox Code Playgroud)
它适用于某些进程,但是当涉及到在SYSTEM下运行的任何进程时,它无法阻止它.
在SYSTEM下有什么我需要添加来杀死进程吗?
在VBS中,如何创建目录然后将文件复制到其中?
我想在C的根目录中创建一个文件夹,例如C:\文件夹,然后将文件从\ server\folder\file.ext复制到该新文件夹中
那么这是我的代码,但我无法使用objFile.Extension过滤列表我确定这是一些愚蠢的事情
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\dev"
Set objFolder = objFSO.GetFolder(objStartFolder)
Wscript.Echo objFolder.Path
Set colFiles = objFolder.Files
For Each objFile in colFiles
If objFile.Extension = "PDF" Then
Wscript.Echo objFile.Name
End If
Next
Wscript.Echo
ShowSubfolders objFSO.GetFolder(objStartFolder)
Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
Wscript.Echo Subfolder.Path
Set objFolder = objFSO.GetFolder(Subfolder.Path)
Set colFiles = objFolder.Files
For Each objFile in colFiles
Wscript.Echo objFile.Name
Next
Wscript.Echo
ShowSubFolders Subfolder
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
在运行时,它会返回错误
(11,1)Microsoft VBScript运行时错误:对象不支持此属性或方法:'objFile.Extension'
我有一个ERP系统的快速开发工具,它只允许使用vbscript.我正在尝试使用VBS创建一个简单的AJAX-Request.这适用于"Microsoft.XMLHTTP"对象.
下一步是使用json从Web服务器接收数据.但是在VBS中,似乎没有其他类似"json_decode"的功能.
有谁知道解决方案?或者是开发自己的json函数的唯一选择?
我有一个用于将文件从源目录移动到目标目录的vbscript.目前脚本的工作方式是我有一个读入的映射文件(将id映射到文件夹类型).移动的每个文件都以id开头,目标将基于id映射到的内容.我读入映射文件并为每个要移动的文件构建目标路径.这一切都按预期工作,问题是当我尝试移动目标目录中已存在的文件时,文件不会从源目录移动.基本上我希望它覆盖目标目录中的文件(如果它已经存在).目前,我的主要命令是:
fso.MoveFile ObjFile.Path, archiveTo & "\" & yearValue & "\" & monthValue & "\" & ObjFile.Name
Run Code Online (Sandbox Code Playgroud)
有没有办法将此默认设置为始终覆盖destionation目录中的文件(如果已存在)?
我想要一个脚本:
我可以使用以下VB脚本轻松完成前两个:
dim accessApp
set accessApp = createObject("Access.Application")
accessApp.visible = true
accessApp.OpenCurrentDataBase("C:\path.accdb")
accessApp.Run "myLinker"
Run Code Online (Sandbox Code Playgroud)
但是当VBS执行完成时,它会立即关闭Access数据库.我希望实例保持独立于脚本的开放状态.
我没有被迫使用VBScript,但它似乎最容易实际调用宏来运行.
vbscript ×10
asp-classic ×1
class ×1
directory ×1
file-io ×1
fso ×1
json ×1
kill ×1
ms-access ×1
powershell ×1
scripting ×1
subdirectory ×1
vba ×1
windows ×1