我已经阅读了类似的帖子,他们没有回答我的问题。
我发现类似的帖子是: how to pass parameters to tortoiseproc.exe via file?
但问题尚未解决,并且在没有BOM的情况下使用UTF-16编码创建了文件。
我正在尝试使用tortoisesvn命令自动为我的项目提交
TortoiseProc.exe /command:commit /pathfile:"D:\p3.tmp" /logmsg:"test log message" /deletepathfile
其中“D:\ p3.tmp”文件包含必须提交的文件列表。
此文件包含没有BOM的UTF-16编码。
我用来创建文件的C#代码:
string line = @"D:\SourceCode\ProductProvider.cs";
using (var s = File.Create("D:\\p3.tmp"))
{
using (var sw = new StreamWriter(s, new UTF32Encoding()))
{
sw.WriteLine(line);
}
}
答案 0 :(得分:5)
您需要使用constructor的非默认UnicodeEncoding class来创建没有BOM的UTF16编码;
using (var sw = new StreamWriter(s, new UnicodeEncoding(false, false)))
{
sw.WriteLine(line);
}
第一个false
设置小端编码,您可以将其设置为大端的真实。第二个false
禁用BOM。