0

我通过 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"
4

1 回答 1

1

将命令写入进程后,文件并未立即准备好。

调用process.WaitForExit()以使您的程序等到该过程完成。然后就可以读取文件了。

于 2012-12-26T13:45:24.117 回答