Convert bulk PHP files to UTF-8 with Notepad++ – Python Automation

Dommage qu’il n’y ait pas cette fonctionnalité en natif dans npp++ comme le magnifique search & replace in files, mais voici comment se débrouiller autrement…

Prérequis

python-2.7.2.msi

pywin32-216.win32-py2.7.exe

Ajouter un shortcut dans le menu Macro > Modifier/Supprimer une macro de Notepad

Le script python

import os;
import sys;
import win32api
import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
filePathSrc="C:\\wamp\\www"
for root, dirs, files in os.walk(filePathSrc):
    for fn in files:
        if fn[-4:] == '.php' or fn[-5:] == '.html':
            shell.Run("notepad++.exe " + root + "\" + fn)
            win32api.Sleep(100)
            shell.AppActivate("
Notepad")
            shell.SendKeys("
^{F10}")
            shell.SendKeys("
^{S}")

& Push The Button

UTF-8 without BOM, c’est quoi: http://en.wikipedia.org/wiki/Byte_order_mark