以前は、デスクトップ上で次の形式のファイルの任意のセットを取得していました。
スクリーンショット 2011-11-08 at 8.10.23 AM.png
スクリーンショット 2011-11-08 at 8.08.57 AM.png
それらに対してPerlスクリプトを実行し、それらの名前を
SS-2011-11-08 at 8.10.23 AM.png
SS-2011-11-08 at 8.08.57 AM.png
これは機能しなくなり、名前の変更は行われません。変更する必要があるので、次のように変更したいと思います。
ss-2011.11.08.at.8.10.23.AM.png
ss-2011.11.08.at.8.08.57.AM.png
- 「スクリーンショット」を常に「ss」に置き換えます。
-
すべてをに置き換えます.
- すべてのスペースを
.
私はそれが貪欲に関係していることを知っていますが、私はこれを書いていませんでした. 私は自分の人生で数時間ずっとperlを使用してきました。私はこれをphpで数行で行うことができると思いますが、デバッグできることは常に良いことなので、perlで保持する方法を学びたいと思います. regs フォーマット規則を調べましたが、適用されません。Mac OS X Lion のどこかがおかしくなっているのか、Snow Leopard が許してはならないことが起こってしまったのかのどちらかです。
皆さん、ありがとうございました!
これが私がこれまでに持っているものです:
#!/usr/bin/perl -w
chdir( "/Users/me/Desktop" ) or die;
my @files = ();
print "after my \@files array\n";
print @files;
while ( <*> ) {
push @files, $_ if m!^Screen Shot (.*) at (.*)\.png!;
}
foreach my $f ( @files ) {
my $new = $f;
$new =~ s!^SS (.*) at (.*)\.png!ss-$1\_$2.png!;
print "$f -> $new\n";
rename ( $f, $new ) or die;
}