Meu colega anterior escreveu uma ferramenta, mas houve um bug, ou seja, depois de substituir o arquivo, o formato do arquivo original se tornou o UTF8 BOM. Esse tipo de XML com BOM pode não ser lido no Mac, então preciso escrever uma ferramenta para lidar com isso.
De fato, a ideia é relativamente simples. Primeiro, itera através do diretório, depois leia o diretório, remova os três primeiros bytes do arquivo e salve-o como um arquivo no formato UTF-8. Basta inserir o código :)
A cópia do código é a seguinte:
var fs = requer ('fs');
var path = "Caminho de destino ...";
função readDirectory (dirpath) {
if (fs.existsync (dirpath)) {
var arquivos var = fs.readdirSync (dirpath);
files.foreach (function (arquivo) {
var filepath = Dirpath + "/" + arquivo;
VAR Stats = fs.statsync (filepath);
if (stats.isdirectory ()) {
console.log ('/n Read Directory:/n', filepath, "/n");
ReadDirectory (filepath);
} else if (stats.isfile ()) {
var buff = fs.readfilesync (filepath);
if (buff [0] .ToString (16) .TolowerCase () == "ef" && buff [1] .ToString (16) .tolowerCase () == "bb" && buff [2] .ToString (16) .TolowerCase () == "BF") {
// EF BB BF 239 187 191
console.log ('/Discover BOM FILE:', filepath, "/n");
buff = buff.slice (3);
fs.WriteFile (filepath, buff.toString (), "utf8");
}
}
});
} outro {
console.log ('não encontrado caminho:', dirpath);
}
}
readDirectory (caminho);