0
我有一個程序,我有一個.exe文件。 .exe的工作是掃描目錄中損壞的文件。如果通過命令提示符按以下格式訪問我得到的掃描如何使用c#命令提示符並逐行獲取結果?
「文件或文件夾「EXE的位置」,結果被掃描」
結果我得到的是作爲掃描的推移。像
D:\A scanned
D:\B scanned
D:\C scanned
D:\D scanned
現在的問題是如何能夠通過我行使用C#得到的結果一致。
我使用下面的代碼集,我只得到最終結果。我需要通過線輸出線
的代碼如下:
string tempGETCMD = null;
Process CMDprocess = new Process();
System.Diagnostics.ProcessStartInfo StartInfo = new System.Diagnostics.ProcessStartInfo();
StartInfo.FileName = "cmd"; //starts cmd window
StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
StartInfo.CreateNoWindow = true;
StartInfo.RedirectStandardInput = true;
StartInfo.RedirectStandardOutput = true;
StartInfo.UseShellExecute = false; //required to redirect
CMDprocess.StartInfo = StartInfo;
CMDprocess.Start();
System.IO.StreamReader SR = CMDprocess.StandardOutput;
System.IO.StreamWriter SW = CMDprocess.StandardInput;
SW.WriteLine("@echo on");
SW.WriteLine(@"E:\Scanner\Scanner.exe -r E:\Files to be scanned\"); //the command you wish to run.....
SW.WriteLine("exit"); //exits command prompt window
tempGETCMD = SR.ReadToEnd(); //returns results of the command window
SW.Close();
SR.Close();
return tempGETCMD;
在這個任何幫助apprecitated
感謝,
嗨King King,我嘗試過。但你能告訴什麼是「中顯示」 我一定後 SW.WriteLine應用代碼(@「E:\掃描儀\ Scanner.exe -r E:\文件被掃描\」); 我不知道如何去做這件事?你能幫忙嗎? – Vikneshwar
@Vikneshwar'顯示+ =(s,e)'是註冊'顯示'事件處理程序,您可以將它放在窗體構造函數中。顯示後,可以調用'SW.WriteLine(@「E:\掃描儀\ Scanner.exe -r E:\文件被掃描\」);'只要你想,如的一個'Click'事件處理程序'Button'。 –
噢,抱歉金敬我忘了迴響應。最終我做到了,完成了我的任務。謝謝 – Vikneshwar