0

我使用以下命令应该创建一个单独的EXE文件(Player.exe作为解释器)。:

copy / b player.exe + game.zip game.ehe 

但是,该命令没有创建(即使获得了 bat 文件),并且启动了一个player.exe没有game.zip.

我的以下代码不起作用:

private void button2_Click(object sender, EventArgs e)
{
    saveDialog.Filter = "exe | *.exe";
    if (saveDialog.ShowDialog() == DialogResult.OK) ;
    {
        ProcessStartInfo info = new ProcessStartInfo();
        info.FileName = @"engine\windows\player.exe";
        info.Arguments = "/b copy " + labelPath + saveDialog.FileName;
        info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        using (Process process = Process.Start(info))
        {
            process.WaitForExit();
        }
    }
}

有人能告诉我为什么我的代码没有按预期工作吗?

4

2 回答 2

2

您传递的文件路径中是否有空格?如果是这样,您可能需要引用该字符串:

info.Arguments = "/b copy \"" + labelPath + saveDialog.FileName + "\"";
于 2012-09-13T06:29:16.937 回答
0

如果 labelPath 是 Label 类型,则另一个选项是 + 将调用ToString它,结果字符串将类似于“...Label...”。您可能需要类似的东西(如果路径有空格,可能需要结合 Fredrik Mörk 的答案):

info.Arguments = "/b copy labelPath.Text + saveDialog.FileName; 
于 2012-09-13T06:44:13.390 回答