我已经创建了一个应用程序,它使用另一个公司的exe来生成一些输出文件,这些文件基于对传入公司exe的一些输入文件所做的计算...对于exe工作,它将查找这些输入文件与exe文件的位置相同的目录。
对于输出文件,我发现从我的程序运行exe时输出的文件夹与在Windows资源管理器中运行exe时的文件夹不同。
有谁知道如何让我的程序将这些文件输出到同一目录或为什么会发生这种情况?
除了用Fortran编写的内容之外,我对此exe中的代码一无所知。
我使用Process.Start(exeName).WaitForExit()
答案 0 :(得分:1)
您可能正在搜索Directory.SetCurrentDirectoty功能。
在实际执行外部exe程序之前将其命名为。传入一个文件夹完整路径,您希望在其中查看输出文件,此可能解决您的问题。
答案 1 :(得分:1)
当你运行一个应用程序时,每次它应该有一个当前文件夹作为上下文,我认为它是exe实际上使用当前文件夹输出,并运行你的程序和调试导致当前文件夹的差异。您可以尝试使用Directory.SetCurrentDirectory设置当前文件夹并查看是否有帮助
答案 2 :(得分:0)
尝试将working directory明确设置为两个应用所在的目录。
答案 3 :(得分:0)
如果您不想为C#应用程序设置工作目录,但仅针对已运行程序,请使用Process.StartInfo.WorkingDirectory
属性。
示例:
var process = new Process();
var startInfo = new ProcessStartInfo("myProgram.exe");
startInfo.WorkingDirectory = "myDirectory";
process.StartInfo = startInfo;
process.Start();