Способ 1.
- Открываем все файлы для перекодирования в AkelPad'е с режимом MDI/PMDI. Удобно найти интересующие файлы в файловом менеджере (Проводник, Total Commander и т.д.) и затем файлы из найденного списка перетащить в окно AkelPad'а.
- Затем "Главное меню->Файл->Сохранить все как...".
- Минусы: весьма ресурсоемкая процедура, если файлов много и они не маленькие.
Способ 2.
Скрипт OpenSaveMask.js.
Пример кнопки Total Commander'а для конвертирования выделенных файлов в UTF-8:
Название: Конвертировать в UTF-8
Команда: AkelPad.exe
Параметры:
Code: Select all
/Call("Scripts::Main", 1, "OpenSaveMask.js", `-OpenList="%L" -SaveDir="%T" -SaveCodepage=65001 -SaveBOM=1`)
DropConverter.cmd - конвертирование переданных файлов в UTF-8:
Code: Select all
::Batch drop convertor. Usage - drag'n'drop files on this batch file via Windows Explorer.
@ECHO OFF
if [%1]==[] goto :EOF
set save_codepage=65001
set save_bom=1
set tempfile=AkelConvert.lst
::Call to EvalCmdEsc.js - create list from passed files to command line.
::Call to OpenSaveMask.js - convert files in list.
start /MIN AkelPad.exe ^
/Call("Scripts::Main", 1, "EvalCmdEsc.js", `var pArgs='%*'; pArgs=pArgs.replace(/[ ]?"(.*?)"%%%%7C[ ]/g, "$1%%%%5Cn"); AkelPad.Command(4101); AkelPad.ReplaceSel(pArgs); AkelPad.SaveFile(0, "%temp%\%tempfile%", 65001, 1); AkelPad.Command(4324);`) ^
/Call("Scripts::Main", 1, "OpenSaveMask.js", `-OpenList="%temp%\%tempfile%" -SaveDir="" -SaveCodepage=%save_codepage% -SaveBOM=%save_bom%`)
Cmd файл для пакетного изменения кодировки файлов для режимов MDI/PMDI, с включенной опцией "Не открывать программу дважды".
Code: Select all
::Command line files convertion (MDI/PMDI).
@ECHO OFF
::If open_codepage == -1, then autodetect codepage.
::If open_bom == -1, then autodetect bom.
set open_mask=c:\My Folder\*.txt
set open_codepage=-1
set open_bom=-1
set save_codepage=65001
set save_bom=1
start AkelPad.exe /C- /B- /L+
for /F "delims=" %%a in ('dir "%open_mask%" /B /S /A-D') do (
echo "%%a"
AkelPad.exe "/OpenFile('%%a', %open_codepage%, %open_bom%)" "/SaveFile('%%a', %save_codepage%, %save_bom%)" "/Command(4324)"
)
AkelPad.exe /quit
echo "---DONE---"
PAUSE