【发布时间】:2021-11-27 02:24:40
【问题描述】:
我运行我的程序,它运行良好。我正在使用外部批处理和 VBS 文件但是如果这些文件不在我的主 C:\ 目录中,那么它根本不起作用!我得到一个找不到指定的文件,所以如何我可以确保我的文件在我的程序每次安装的目录中运行 C:\Program Files (x86) \ 然后它当然会创建一个程序文件夹。
我使用的代码示例来自本网站的另一个论坛。
Process scriptProc = new Process();
scriptProc.StartInfo.FileName = @"Services.bat";
scriptProc.StartInfo.WorkingDirectory = @"c:\Program Files (x86)\Buzzard X Soy Optimzation Program\"; //<---very important
scriptProc.StartInfo.Arguments = "//B //Nologo Services.bat";
scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //prevent console window from popping up
scriptProc.Start();
scriptProc.WaitForExit();
scriptProc.Close();
【问题讨论】:
-
您是直接从
C:\>运行代码吗?如果是这样,那么这就是scriptProc.StartInfo.FileName正在寻找的地方,而不是其他目录 -
不,那只是出于某种原因它在哪里工作
-
你是如何运行代码的呢?来自 CMD?
-
嗯是和否按钮是在 VS 中编译的,但批处理文件通过 CMD 运行是的。但由于某种原因,它只有在文件直接位于 C: 和 C: 时才有效:只有没有子文件夹我也是代码和 C# 的新手。
标签: c# windows visual-studio