我在过滤Pcap文件的前1秒并通过C#命令导出它时遇到了一个小问题。下面的命令在CMD中执行得很好:
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中,它工作得很好。
如果你能帮我解决这个问题,我真的很感激。
发布于 2014-03-15 23:55:36
首先,我要感谢@Guntram Blohm给了我一个小小但很棒的提示,让我去寻找新的话题。I found this topic which explained my exact problem
所以它就像添加
/S
在"/C“之前。我不敢相信现在一切都很完美。编辑后的行如下:
cmd /S /C "Rest of your code/Command here"非常感谢!
https://stackoverflow.com/questions/22399123
复制相似问题