簡體   English   中英

從C#工具運行命令行腳本失敗

[英]Running command line script from C# tool failing

我想從我的應用程序運行以下代碼:

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();

我錯過了什么?

失敗原因:

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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM