NtfsTame
NtfsTame is NTFS file/directory name encoding corrector (C)
NtfsTame is a command line program to correct the bad coded unicode characters of ntfs filesystem. You can specify a map file to tell the code replacements needed to do on the file and directory names.Background:The ntfs filesystem store the file and directory names in UTF-16 encoding. This way the filesystem can perfectly handle every special national characters without any hassle. Those applications which can't handle UTF-16 have the own encodings and the system converts the ntfs entry names to the appropriate encoding and vice versa.
Sometimes in the real word some applications give wrong local settings or badly encoded file names and the ntfs filesystem does not do any inspection of this encoded names. This way the wrong encoded names will appears in your filesystem. Because the base encoding is hardwired UTF-16 this bad encoded names will conserved in the filesystem, and only a rename can correct it. It is very time-consuming task to search and rename every bad coded characted in a big directory structure.
The NtfsTame helps you to search and eliminate this bad encoded names. You can show this bad encoded entry names in byte to byte with the NtfsTame tool and define the necessary mappings into a simple text file. After that the NtfsTame could show the mapped names. In case the generated entry names are suitable for you it can be applied in a whole directory structure recursively.
Program usage:
NtfsTame - NTFS file/directory name encoding corrector utility Usage: ntfstame <command> [switches] <directory>... Commands: show - List the emtries in the directory ntfstame show [switches] <DIRECTORY_TO_SHOW> ntfstame show D:\myprog ntfstame show -vv -i -width=90 "C:\My data\store" fix - Fix the entries in the directory according to the map file ntfstame fix [switches] -map=<MAPFILE> <DIRECTORY_TO_FIX_CONTENT> ntfstame fix -r -d -map=map.txt "C:\My data\store" ntfstame fix -r -map="D:\map.txt" -ccp=852 D:\myprog Switches: -v - Be verbose -vv - Be more verbose -i - Show indexes in show mode. -d - Dry run, doesn't change anything on filesystem, just print the actions. -r - Recousive work, processing subdirectories too. -ccp=CODE - Use this CODE code page in the terminal. -map=MAPF - Set character mapping file MAPF -width=COL - Set console character width in "show" mode -h - Print help -version - Version and author informations
Map file example:
0,224=>0,225; 0,232=>0,233; this is a comment here... 0,160=>0,225; 0,181=>0,193; 1,2,2,199=>0,225; badly converted utf8 char 1,2,0,95=>0,233;
Author: | Péter Deák |
License: | GPL v2 |
Contact Email: | at gmail.com |