Created
January 4, 2017 04:59
-
-
Save smccutchen/86c0f8bdd6e5e36eebae0fbf73b752a7 to your computer and use it in GitHub Desktop.
Convert multiple files to UTF-8 encoding with Notepad++
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 2016-2017 Soverance Studios. | |
# Scott McCutchen | |
# This file will search all files and folders within a given directory, and use Notepad++ to convert their encoding to UTF-8 without Byte Order Marks | |
# | |
# This file must be run using the PythonScript plugin from within Notepad++, which is available through the Notepad++ Plugin Manager | |
# | |
# You must have Python 2.7 installed | |
# | |
# Additionally, this script can only exist and be run from within the Notepad++ user's working directory, the default of which is here: | |
# Note that selecting "New Script" from within the PythonScript plugin will automatically default to this save location | |
# .. USER DIRECTORY\AppData\Roaming\Notepad++\plugins\Config\PythonScript\scripts | |
import os; | |
import sys; | |
from Npp import notepad | |
filePathSrc="U:\\UnrealEngine\\Ethereal\\Source\\Ethereal" # Path to the folder with files to convert | |
for root, dirs, files in os.walk(filePathSrc): | |
for fn in files: | |
if fn[-2:] == '.h' or fn[-4:] == '.cpp': # Specify file types, taking care to change the fn[number] to correspond to length of the file's extension including the . | |
notepad.open(root + "\\" + fn) | |
notepad.runMenuCommand("Encoding", "Encode in ANSI") | |
notepad.runMenuCommand("Encoding", "Convert to UTF-8") | |
notepad.save() | |
notepad.close() |
Thanks! Had ~65k small text files where every 1000 or so there was a 0x90 character messing up my processing!
Does this script work on folder trees, with sub-folders?
Does this script work on folder trees, with sub-folders?
no, i'm also searching to a solution with subfolders
Does this script work on folder trees, with sub-folders?
no, i'm also searching to a solution with subfolders
Did you test it? os.walk is set so that it goes through folders recursively, so it should work with subfolders.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Here is an improved version that prints the action in the console and also accounts for non-Latin characters like Cyrillic, Japanese, Chinese etc... in the path