我使用以下命令,该命令应创建一个单独的EXE
文件(Player.exe
作为解释器)
copy / b player.exe + game.zip game.ehe
但是,该命令没有创建(即使获得了bat文件),而是启动了一个没有game.zip
的空player.exe
。
我的以下代码不起作用:
private void button2_Click(object sender, EventArgs e)
{
saveDialog.Filter = "exe | *.exe";
if (saveDialog.ShowDialog() == DialogResult.OK) ;
{
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = @"enginewindowsplayer.exe";
info.Arguments = "/b copy " + labelPath + saveDialog.FileName;
info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
using (Process process = Process.Start(info))
{
process.WaitForExit();
}
}
}
有人能告诉我为什么我的代码没有按预期工作吗?
您传递的文件路径中是否有空格?如果是这样的话,你可能会想引用字符串:
info.Arguments = "/b copy "" + labelPath + saveDialog.FileName + """;
如果labelPath的类型为Label than+,则另一个选项将在其上调用ToString
,结果字符串将类似于"…Label…"。您可能需要类似的内容(如果路径有空格,则可能需要与Fredrik Mörk的答案相结合):
info.Arguments = "/b copy labelPath.Text + saveDialog.FileName;