Perlで拡張子変換
Perlの勉強がてら拡張子の変換プログラムを作ってみました。
前々から MBE のガーバデータの拡張子を Fusion PCB のに合わせるのを手動で行っていたのですが、これが結構神経を使うのです。なので、チョッとだけ軽減してくれるかなって感じです。
前々から MBE のガーバデータの拡張子を Fusion PCB のに合わせるのを手動で行っていたのですが、これが結構神経を使うのです。なので、チョッとだけ軽減してくれるかなって感じです。
#!/usr/bin/perl
#
# MBEで作成したガーバデータの拡張子をFusionPCBに変換する
#
use File::Basename 'fileparse';
my $filepath = "./";
# ディレクトリオープン
opendir(DIRHANDLE, $filepath);
# ディレクトリエントリの取得
foreach (readdir(DIRHANDLE)) {
next if /^\.{1,2}$/; # '.'や'..'をスキップ
my ($basename, $dirname, $ext) = fileparse($_, qr/\..*$/);
my $convname = "";
if ($ext =~ /.cmp|.CMP/) {
$convname = ".GTL"
}
if ($ext =~ /.sol|.SOL/) {
$convname = ".GBL"
}
if ($ext =~ /.stc|.STC/) {
$convname = ".GTS"
}
if ($ext =~ /.sts|.STS/) {
$convname = ".GBS"
}
if ($ext =~ /.plc|.PLC/) {
$convname = ".GTO"
}
if ($ext =~ /.pls|.PLS/) {
$convname = ".GBO"
}
if ($ext =~ /.drd|.DRD/) {
$convname = ".TXT"
}
if ($ext =~ /.dri|.DRI/) {
$convname = ".DRI__"
}
print "$_ -> $basename$convname\n";
if ($convname ne "") {
rename $_, $basename . $convname;
}
}
# ディレクトリクローズ
closedir(DIRHANDLE);
スポンサーサイト