重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

Applescript初心者です。

現在業務で使用しているアプリケーションを使用し、
pdfファイルの書き出し作業を行なっているのですが、
アプリの特性上ファイルネームの後ろに[1-1][2-2][3-3]といった
ページ番号が必ず入ってしまいます。
(連結PDFではなく、単ページ出力の場合)

Applescriptを使用し、ファイル後ろのページ番号を特定の文字に置き換えたいのですが
ドロップレットなどで、そのような変換作業は可能でしょうか?

例/
サンプル[1-1].pdf    -->    サンプルP01.pdf
サンプル[2-2].pdf     -->   サンプルP02.pdf
サンプル[3-3].pdf     -->   サンプルP03.pdf

様々なホームページでApplescriptを使用したファイル名置換え方法を調べてみましたが
ファイル全体のリネームができるscriptしか確認できませんでした。

また、Automatorを使用したファイル名置き換え方法もありますが、
置換えするページ数が多いため、テキスト登録を行うのに動作が重くなってしまいます。
(変換ページ数は[1-1]~[100-100]です。)

勉強不足で大変恐縮ですが、ご助力いただけると助かります。

------------------------------------------------
制作環境/Mac OS 10.7.4
------------------------------------------------

A 回答 (6件)

NameChanger(フリーソフト)



1.こちらからダウンロード
http://namechanger.en.softonic.com/mac/download

2.NameChangerを立ち上げる

3.変換したいファイルをすべて選択し、NameChangerのウインドウにドラッグ

4.変換様式は「Sequence」を選ぶ

5.変換後のファイルを001、002、のように3桁にしたければ、 Number of Digitsを「003」にし、starting at を「1」にする

6.Locationは「Replace Entire Filename」にする

7.ウインドウの右側に変換後の名前が表示されているので、これでOKならRenameの三角ボタンを押す。
 (この状態では、ファイル名は001、002、003、、となっている)

8.NameChangerを一旦終了させ、再度立ち上げる

9.先ほど変換したファイル(001・002・003・・・)をすべて選択し、NameChangerのウインドウにドラッグ

10.変換様式を「Prepend」にし、New Textに「サンプルP」と入力し、良ければRenameボタンをクリック
(この状態では、ファイル名はサンプルP001、サンプルP002、サンプルP003、、となっている)

11.変換様式を「Append」にし、New Text に「.pdf」と入力し、良ければRenameボタンをクリック
(この状態で、ファイル名はサンプルP001.pdf、サンプルP002.pdf、、、となっている)

以上で目的のファイルのできあがり。

ワイルドカードを使った、もっとスマートな方法もあるはずですが、ご自分でいろいろやってみてください。このソフトを使えば、たいていのファイルネーム変換ができます。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
こんな便利なアプリをご紹介いただき、ありがとうございます。
試してみたところ、確かに思い通りにファイル名を変換することができました。
このアプリでもう少しテストしてみたいと思います。
本当にありがとうございました。

お礼日時:2013/04/03 08:56

No.4です。

僕の場合は10.7.5で正常に動作しています。記憶が曖昧ですが、オリジナルのコードをコピー、スクリプトエディター2.4.3にペーストして使っているのかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
動作確認できました。
再度確認したところ、ご指定いただいた方法で文字列を置換えすることができました。
複数の条件で置き換えを行おうとした場合、
一度に全てのファイルを変換することはできませんが、Scriptの組み換えで変換できるかもしれません。
ありがとうございました。

お礼日時:2013/04/03 19:14

「NameChanger」は何度も使ってみたことあるのですが、


いいソフトだということをNo.3さんのおかげで初めて認識しました。
NameChanger で中央のポップアップメニューのところを
「Regular Expression」にすれば、1の方法で一発でいけますね。
1と違うのは置換文字列を「P0バックスラッシュ1」ではなく、
「P0$1」と、ドル記号を使うところです。
    • good
    • 0

これを使ってみてはどうでしょう。



 http://72.way-nifty.com/blog/2011/03/applescript …

検索したい文字列を[1-1]、置換したい文字列をP01にすればできそうです。ただし、 [1-1], [2-2], ・・・をそれぞれ変換しないといけないこと、[1-1]の文字列を含むファイルがたくさんある時は時間がかかります。

 
    • good
    • 0
この回答へのお礼

早々のご返答ありがとうございます。
一度試してみたのですが、ご紹介いただいたスクリプトは「OS10.5.8」「スクリプトエディタ 2.2.1」で作られたものであった為、私の制作環境OS10.7では動作しませんでした。
今後もいろいろと試してみます。
ありがとうございます。

お礼日時:2013/04/03 08:49

投稿したらウチの環境ではバックスラッシュがすべて円記号になりました(Safari では)。


やってみるなら円記号をすべて半角バックスラッシュにしてください。
いや、この辺も環境によるのかな。よく理解できてないのですが。
    • good
    • 0

挙げられた例だけであれば、


「Name Mangler.app」をダウンロードして起動し、
http://manytricks.com/namemangler/
出てくるウィンドウの
左上のポップアップメニューを「Find and Replace」にして、
「Drop files and folders here」にファイルをまとめてドロップ、
右のスペースの「Find」の欄に「\[(\d)\-\d\]」と入力、
「Replace」の欄に「P0\1」と入力、
「Query is regular expression」にチェックして「Rename」ボタンを押せばできます。

AppleScriptでやる方法は知らないのですが、
AppleScriptは正規表現に対応してない、とどこかで読んだ記憶があります。

以上の説明でわからない点(例えば正規表現ってなんだよ、とか)があれば、
あっさり締め切らずにお礼欄で質問していただければ、
お急ぎでなければどこまででもつき合います。

ちなみに Name Mangler はフリーウェアではありません。
フリーウェアのリネームソフトとしては日本発の「Shupapan」が有名ですが、
僕はいまのところ「Shupapan」の採用している正規表現が理解できていません。
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございます。
テストしてみたところ、ご指定いただいた方法で変換することができました。
現在無料版でのテストとなりますので、一度に全てのファイルは変換できませんが、検討していきたいと思います。
大変参考になりました。
ありがとうございます。

お礼日時:2013/04/03 09:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!