我正在尝试将一个位置的所有文件复制到另一个位置,并使用
注意:我不能在Unix中创建带有特殊字符的文件,因为特殊字符会被替换为
注:此文涉及IT技术相关内容。请您为了更好的理解,尽可能浏览全文,如有需要请自行查阅相关资料。
File :: Copy
模块和从中提取的copy
命令,但现在我面临的问题是,我有一个文件名包含特殊字符
的文件,其 ASCII 值为ý
,但在Unix文件系统中,它存储为?
。因此,我的问题是,在复制或移动到另一个位置时,copy或move命令
是否会考虑这些具有特殊字符的文件,
如果不会,则可能的解决方法是什么?注意:我不能在Unix中创建带有特殊字符的文件,因为特殊字符会被替换为
?
,而我在Windows上也无法这样做,因为在Windows上,特殊字符会被编码值替换,例如我的ý
?my $folderpath = 'the_path';
open my $IN, '<', 'path/to/infile';
my $total;
while (<$IN>) {
chomp;
my $size = -s "$folderpath/$_";
print "$_ => $size\n";
$total += $size;
}
print "Total => $total\n";
欢迎提出任何建议。
参考问题:Perl文件处理问题
注:此文涉及IT技术相关内容。请您为了更好的理解,尽可能浏览全文,如有需要请自行查阅相关资料。
?
代替文件名中的特殊字符打开该文件。 - Rachel