Alexyz21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Propretor Если имеется установленный Far Manager 3.0, то запускаете в папке с файлами след скрипт: recode_filename.lua ======== local Utf8=1 -- =1 convert AnsiToUtf8, =0 Utf8ToAnsi local count,mask,path = 0,"*",APanel.Path local function Utf8ToAnsi(s) return win.WideCharToMultiByte(win.MultiByteToWideChar(s,65001),1251) end local function AnsiToUtf8(s) return win.WideCharToMultiByte(win.MultiByteToWideChar(s,1251),65001) end far.RecursiveSearch(path,mask, function(item,fullpath) if not item.FileAttributes:find("d") then -- recode filename only, not folder (directory) local fname = Utf8==0 and Utf8ToAnsi(item.FileName) or AnsiToUtf8(item.FileName) win.RenameFile(fullpath,fullpath:match("^.+\\")..fname) count=count+1 end end, 7 ) print("file(s) renamed: "..count) ======== Будут перекодированы имена у всех файлов, в том числе и в подпапках. Перед применением лучше потренироваться на "кошках", чтобы предварительно оценить результат. Если перекодировали с Utf8=0 вместо 1-го 2 раза, то просто перекодируйте назад с Utf=0. | Всего записей: 3620 | Зарегистр. 16-06-2007 | Отправлено: 13:27 20-05-2022 | Исправлено: Alexyz21, 13:41 20-05-2022 |
|