Я пытаюсь преобразовать набор файлов Windows 10 в каталог из ANSI в UTF-8. Я нашел следующую команду, которая работает в командной строке для одного файла, если команда запускается из папки, где существует исходный файл:

piconv -f windows-1252 -t UTF-8 < SOURCE_File.txt > TARGET_File.txt

Однако мне нужен какой-то способ сделать это для ВСЕХ файлов в выбранной папке. Я думал, что могу использовать Perl с командой:

my $Test=system("piconv","-f", "windows-1252", "-t", "UTF-8"," < $SOURCE_File > ","$TARGET_File");

где $ SOURCE_File и $ TARGET_File, как правило, будут содержать полные пути файлов.

НО это не работает! Я получаю ошибки, такие как неверный аргумент или не могу открыть файл.

Кто-нибудь знает, как поместить команду piconv в Perl-скрипт. Я могу настроить зацикливание для каждого файла в данном каталоге. Я просто не могу обработать команду piconv, которая преобразует каждый файл.

Большое спасибо

Gauss76

1 ответ1

0

Поместите все аргументы piconv в одну строку:

system("piconv -f windows-1252 -t UTF-8 $SOURCE_File >$TARGET_File");

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .