2010-03-02 61 views
0

嗨我希望能够使用C#以编程方式从另一台服务器同步我的构建服务器上的perforce。 服务器A上有EXE。 服务器B有perforce。我需要帮助同步c远程计算机上的perforce#

我在两台机器上都有管理员权限。

我想用类似

System.Diagnostics.Process.Start("p4 sync", "\"" + path + @""" -f //release/production/...") 

我的电脑连接

ManagementScope scope = new ManagementScope("\\\\" + computer_name + "\\root\\cimv2"); 

scope.Connect(); 

我无法弄清楚如何把它放在一起。 任何帮助将不胜感激。谢谢

回答

0

我能弄明白:

public static void perforce_sync() 
    { 

     string computer_name = @"server_name"; 
     ManagementScope scope = new ManagementScope("\\\\" + computer_name + "\\root\\cimv2"); 
     scope.Connect(); 
     ObjectGetOptions object_get_options = new ObjectGetOptions(); 
     ManagementPath management_path = new ManagementPath("Win32_Process"); 
     ManagementClass process_class = new ManagementClass(scope, management_path, object_get_options); 
     ManagementBaseObject inparams = process_class.GetMethodParameters("create"); 
     inparams["CommandLine"] = @"p4 sync -f //release/..."; 
     ManagementBaseObject outparams = process_class.InvokeMethod("Create", inparams, null); 
     Console.WriteLine("Creation of the process returned: " + outparams["returnValue"]); 
     Console.WriteLine("Process ID: " + outparams["processId"]); 

    }