我正在使用Window 7的SORT命令来排序.csv文件,当我将结果输出到单独的csv文件时,该命令工作正常但我需要进行就地排序。
代码如下。
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo= new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C sort C:\\Users\\fFayyaz\\Desktop\\12.csv > C:\\Users\\fFayyaz\\Desktop\\12.csv";
process.StartInfo = startInfo;
process.Start();
以上代码清空整个源文件。如果我做/ C排序文件名,它不会对文件进行排序。但是如果源和目的地不同,那么上面的代码就可以完美地工作。有人可以帮助进行内部排序。
答案 0 :(得分:0)
您无法进行现场排序。您可以通过重命名文件来模拟效果,以便在临时文件中排序,然后启动命令将重命名的文件转换为旧文件名。添加圆顶事务性以检查是否存在某些错误,使用原始名称复制旧文件。
注意:我们不能进行就地排序,源文件是空的,因为命令在写入之前清除输出文件,并且输出和输入文件相同,它会丢失数据
答案 1 :(得分:0)
从中获得的结论是,Windows的排序是不可能的。但它是,考虑到它使用临时文件设计。所以澄清一下: 排序/? reveal / O选项指定输出文件 - 只需使用与输入相同的内容即可进行排序。