将文件添加到文件夹时运行MATLAB例程

时间:2011-02-23 23:41:04

标签: windows scripting matlab automation wmi

我目前正在开发一个项目,其中一个或多个文件可以转储到服务器上的多个位置之一。我在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并将目标目录更改为服务器上多个目录的指导吗?

1 个答案:

答案 0 :(得分:1)

您正在寻找WScript.ShellRun方法:

Set objShell = WScript.CreateObject("WScript.Shell")    
objShell.Run "matlab -automation -r someRoutine(varargin)"

documentation描述了可选参数,允许您控制如何显示创建的进程,以及是否等待它完成。