0
我有一個過濾Pcap文件的第一個1秒的小問題,並通過C#命令導出它。下面的命令在CMD執行就好了:如何用C#中的Tshark過濾Pcap文件的第一個1秒?
c:\Program Files\Wireshark\tshark.exe -r 10Secfile.pcap -T fields -E separator=, -E quote=d -e wlan_mgt.fixed.timestamp -e radiotap.mactime -e wlan_mgt.ssid -e radiotap.dbm_antsignal -e wlan.fc.type_subtype -R "frame.time_relative <=1.0" >> 1SecFile.txt
但是,當我嘗試做同樣的事情在C#這樣的:
strCmdText = "/C \"c:\\Program Files\\Wireshark\\tshark.exe\" -r 10SecFile.pcap -T fields -E separator=, -E quote=d -e wlan_mgt.fixed.timestamp -e radiotap.mactime -e wlan_mgt.ssid -e radiotap.dbm_antsignal -e wlan.fc.type_subtype -R \"frame.time_relative <=1.0\" >> 1SecFile.txt";
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo = new System.Diagnostics.ProcessStartInfo("CMD.exe", strCmdText);
process.Start();
process.WaitForExit();
我得到這個錯誤:「系統無法找到文件指定的命令「。而且我相信,所有的可執行文件的路徑發現因爲代碼就開始運行,因爲我刪除最後一個過濾器:
-R \"frame.time_relative <=1.0\"
我甚至放在一個斷點「strCmdText =」之後和手動複製它的價值,將它粘貼到CMD中,它工作得很好。
我真的很感激,如果你能幫我弄清楚這一點。
看起來像'cmd/c'這種額外的間接方式可以去掉''frame.time_relative <= 1.0「這個引起」<= 1.0「輸入重定向到」= 1.0「文件的引號, ,不存在。嘗試使用'cmd/c'在命令行上正確使用它,您可能需要使用額外的引號,然後在該命令運行後將該命令「導入」到您的c#程序中。 –
謝謝@Guntram,這正是我曾嘗試在過濾器周圍使用額外引號的問題,但仍然給我提供了同樣的錯誤。 – AmGh