Windowsで「:(コロン)」をファイル名に含めることはできませんが、Linux/UNIX上では可能です。
Linuxサーバ上にある「:(コロン)」を含むファイルを含めて圧縮したものを、Windows上でLhaplusを使用して解凍すると「:(コロン)」を含むファイル名のファイルが失われてしまいます。
#しかも、Lhaplusの解凍結果ログにはその旨が出力されない!
Linuxサーバ上で「:(コロン)」は置換しておくべき、という事でしょうか。
#!/bin/sh
files=(`ls`)
for old_name in ${files[*]}
do
new_name=`echo ${old_name} | sed 's/\:/_/g'`
if [ ${old_name} != ${new_name} ]; then
mv ${old_name} ${new_name}
fi
done
exit 0
#!/usr/bin/perl
use strict;
use warnings;
my @files =`ls`;
foreach my $old_name (@files) {
chomp $old_name;
my $new_name = $old_name;
$new_name =~ s/:/_/g;
rename "$old_name", "$new_name" if $old_name ne $new_name;
}
exit 0
追記(2008/2/19)
ていうか、これでおk。
rename \: _ *