当我尝试从 C# 运行 cmd 命令“efwmgr C:-commit”时,得到没有任何信息的空日志文件,当手动检查“ewfmgr C:”时,得到“引导命令 NO_CMD”,因此提交不运行。
相同的代码只是更改了 Arguments = "/C chkdsk C:" 它运行良好,将整个输出插入到我的日志中。
我使用的方法。
public static void StartProcess()
{
var procStartInfo = new ProcessStartInfo
{
CreateNoWindow = false,
WindowStyle = ProcessWindowStyle.Normal,
FileName = "cmd",
Arguments = "/C ewfmgr C: -commit",
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardInput = true,
RedirectStandardError = true
};
var process = new Process { StartInfo = procStartInfo, EnableRaisingEvents = true };
using (StreamWriter writer = new StreamWriter(@"D:\commitFile.txt"))
{
process.OutputDataReceived += (sender, e) =>
{
writer.WriteLine(e.Data);
};
process.Start();
process.BeginOutputReadLine();
process.WaitForExit();
}
}
这是我在https://social.msdn.microsoft.com/Forums/vstudio/en-US/4e014365-8e8f-4f93-998a-156f2e55ebab/how-to-get-and-write-ewf-上找到的几乎示例current-to-text-file-using-c?forum=csharpgeneral
四季花海
潇潇雨雨
相关分类