我使用以下命令创建一个单独的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();
}
}
}
有人可以告诉我为什么我的代码没有按预期工作吗?
答案 0 :(得分:2)
您传递的文件路径中是否有空格?如果是这样,您可能想引用字符串:
info.Arguments = "/b copy \"" + labelPath + saveDialog.FileName + "\"";
答案 1 :(得分:0)
如果labelPath的类型为Label而不是+,则另一个选项将在其上调用ToString
,结果字符串将类似于“... Label ...”。你可能需要类似的东西(如果路径有空格,可能需要结合FredrikMörk的答案):
info.Arguments = "/b copy labelPath.Text + saveDialog.FileName;