【发布时间】:2020-08-18 11:40:53
【问题描述】:
我目前正在尝试写GUI around
首先我运行一个命令来开始图像的实际转换。
使用该方法后,我想通过MoveFile() 将转换后的文件移动到另一个文件夹。
问题是程序没有等待 CMD 进程完成,而是想立即移动文件。当我调试程序并真正让它完成 CMD 命令时,文件将被毫无问题地移动。
从在线阅读我需要使用.WaitForExit(),但它似乎没有多大作用。
RunCommand(strCommand);
MoveFile(strDirectoryName + "\\" + strNewName, strDirectoryName + "\\0 - Preview\\" + strNewName);
RunCommand()
private void RunCommand(string CmdText) {
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
//startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/c " + CmdText;
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
}
有帮手吗?
【问题讨论】:
-
可以查看文件是否被锁定。
-
不确定您的意思是什么文件?然而,就像我说的,当我调试它并逐步进行时,它可以工作。它可以转换文件并移动它当我刚刚运行它时,它给了我一个错误,即 MoveFile 方法找不到文件,因为它尚未创建。
-
也许检查 Process.HasExited 是否被触发?
-
这是你的答案 -> stackoverflow.com/questions/40764093/…
标签: c#