Como encontrar todos os arquivos no diretório que contêm UTF-8 BOM (marca de ordem de bytes)?
8
No Windows, preciso encontrar todos os arquivos em um diretório que contenha UTF-8 BOM (marca de ordem de bytes). Qual ferramenta pode fazer isso e como?
Pode ser um script do PowerShell, o recurso de pesquisa avançada de algum editor de texto ou o que for.
Acabei de receber uma série de arquivos que diferiam apenas pelo fato de alguns terem uma lista técnica e outros não. Sua resposta foi exatamente o que eu precisava para limpar tudo. Obrigado!
Tevya 26/10/19
1
Se você estiver em um computador corporativo (como eu) com privilégios restritos e não puder executar o script PowerShell, poderá usar um bloco de notas portátil Notepad ++ com PythonScript para executar a tarefa, com o seguinte script:
import os;
import sys;
filePathSrc="C:\\Temp\\UTF8"
for root, dirs, files in os.walk(filePathSrc):
for fn in files:
if fn[-4:] != '.jar' and fn[-5:] != '.ear' and fn[-4:] != '.gif' and fn[-4:] != '.jpg' and fn[-5:] != '.jpeg' and fn[-4:] != '.xls' and fn[-4:] != '.GIF' and fn[-4:] != '.JPG' and fn[-5:] != '.JPEG' and fn[-4:] != '.XLS' and fn[-4:] != '.PNG' and fn[-4:] != '.png' and fn[-4:] != '.cab' and fn[-4:] != '.CAB' and fn[-4:] != '.ico':
notepad.open(root + "\\" + fn)
console.write(root + "\\" + fn + "\r\n")
notepad.runMenuCommand("Encoding", "Convert to UTF-8 without BOM")
notepad.save()
notepad.close()
get-childitem -recurse
a lidar com subdiretórios também.Como uma observação lateral, aqui está um script do PowerShell que eu uso para remover os caracteres UTF-8 BOM dos meus arquivos de origem:
fonte
Se você estiver em um computador corporativo (como eu) com privilégios restritos e não puder executar o script PowerShell, poderá usar um bloco de notas portátil Notepad ++ com PythonScript para executar a tarefa, com o seguinte script:
O crédito está disponível em https://pw999.wordpress.com/2013/08/19/mass-convert-a-project-to-utf-8-using-notepad/
fonte