我正在尝试将目录中的一组 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 命令。
非常感谢
高斯76
答案1
将所有参数放在piconv
一个字符串中:
system("piconv -f windows-1252 -t UTF-8 $SOURCE_File >$TARGET_File");