0

我想从我的应用程序中运行以下代码:

manage-bde -protectors -disable C:

如果我打开命令提示符并从那里运行(win8),它工作得很好。

但是,如果我尝试从我的应用程序运行它,我会得到:'manage-bde' is not a recognized program.

我的代码:

process1.StartInfo.RedirectStandardOutput = true;
            process1.StartInfo.UseShellExecute = false;
            process1.StartInfo.CreateNoWindow = false;
            process1.StartInfo.FileName = @"cmd.exe";
            process1.StartInfo.Arguments = @"/C manage-bde -protectors -disable C:";
            process1.Start();

我错过了什么?

4

1 回答 1

2

失败原因:

cmd.exe 无法识别您的文件manage-bde以继续进行。

您可以通过为文件提供正确的路径来解决此问题manage-bde

解决方案 1: 当您从 C# 运行任何控制台命令时,默认情况下它们将从以下路径运行:

如果您在发布模式下运行项目 --><Solution FolderName>\<Project FolderName>\bin\Release

如果您在调试模式下运行项目 --><Solution FolderName>\<Project FolderName>\bin\Debug

因此,如果您想从您的 c# 代码运行任何第三方 exe 文件,请确保将它们(exe 文件)复制到相应的文件夹中。

解决方案2:manage-bde您可以在环境变量中设置路径

解决方案 3:manage-bde您可以在代码 中提供完整路径。

示例代码:这里我提供了我想要执行的 exe/bat 文件的完整路径:

Process process1 = new Process();
process1.StartInfo.RedirectStandardOutput = true;
process1.StartInfo.UseShellExecute = false;
process1.StartInfo.CreateNoWindow = false;
process1.StartInfo.FileName = @"cmd.exe";
process1.StartInfo.Arguments = @"/C C:\apache-jmeter-2.9\apache-jmeter-2.9\bin\jmeter.bat";
process1.Start();
于 2013-11-07T13:23:32.137 回答