我目前正在开发一个项目,其中一个或多个文件可以转储到服务器上的多个位置之一。我在MATLAB中设置了例程,它可以很好地处理文件,我想自动完成这个,这样我就不必再浪费时间处理文件了。
我找到了一个WMI脚本(来自ScriptingGuy Here),其行为方式对我有用,除了我不太了解WMI将其改为我的目的。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE " _
& "Targetinstance ISA 'CIM_DirectoryContainsFile' and " _
& "TargetInstance.GroupComponent= " _
& "'Win32_Directory.Name=""c:\\\\scripts""'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo objLatestEvent.TargetInstance.PartComponent
Loop
我尝试使用MATLAB的命令行工具替换Wscript.Echo行
matlab -automation -r someRoutine(varargin)
失败了。
有人可以给我一些关于从WMI正确调用MATLAB并将目标目录更改为服务器上多个目录的指导吗?
答案 0 :(得分:1)
您正在寻找WScript.Shell
和Run
方法:
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "matlab -automation -r someRoutine(varargin)"
documentation描述了可选参数,允许您控制如何显示创建的进程,以及是否等待它完成。