0

嗨,我希望能够使用 C# 以编程方式从另一台服务器上同步我的构建服务器上的 perforce。服务器 A 上有 EXE。服务器 B 具有 perforce。

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

我想使用类似的东西

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

我有电脑连接

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

scope.Connect();

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

4

1 回答 1

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"]);

    }
于 2010-03-02T21:14:20.637 回答