我正在通过C#代码执行sed.exe,方法是通过c#启动命令提示符。
在那里,我动态地为n个查找和替换对创建查找和替换命令。
我已将sed(windows)二进制文件放在我父应用程序的bin文件夹中。
但是,这个sed是在从上面的命令提示符(通过c#)执行后创建0字节的目标文件,但是当通过命令提示符执行相同的命令时,通过导航到父应用程序的\ bin文件夹,它会创建正确的将结果作为替换数据的文件。
为什么sed会出现这种行为?
我的执行命令是:
repl -e "s~SingleCard~CalculateSF~g" -e "s~Freight~Shipping~g" -e "s~CSISrno~PSISrno~g" -e "s~2BD330B6~drakulla\~\~\~~g" < "\\myserver\Reports\sample.txt" > "\\Myserver\Reports\result.txt"
答案 0 :(得分:1)
将命令写入进程后,文件没有立即就绪。
调用process.WaitForExit()
让程序等到该过程完成。然后你可以阅读文件。