Apple の脅威の通知と金銭目当てのスパイウェアへの対策について

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

ファイルの連続コピーについて

初心者ですみません。
もとになるファイルを選択して1000回コピー作成して、リネーム(連番)するのはどのようにワークフローを組めばいいのでしょうか。
よろしくお願いします。

投稿日 2007/06/08 11:14

返信: 4

2007/06/08 15:04 Community User への返信

Automatorにはループ機能がありません。AppleScriptならループは簡単にできますが、文字列操作機能が弱いため、ちょっと面倒になると思います。シェルスクリプトかperlやrubyなどを使うのが良いでしょう。
でも、一番簡単なのは、フリーのリネームソフトを使うことです。連番機能なら実装しているものが多いですから。それで十分なら、以下からお見立てを。
http://www16.plala.or.jp/x-tomo/Pages/file.html#rename

2007/06/09 08:34 Community User への返信

早速の回答ありがとうございました。でも、ループ処理はコンピュータの最も基本的な処理なのにサポートされていないのは残念です。

2007/06/09 21:35 Community User への返信

> ループ処理はコンピュータの最も基本的な処理なのにサポートされていないのは残念
ちょっと誤解があるような。Automator は可能なあらゆる(アプリも含む)コマンドの組み合わせを簡単に使えるように、というものです。繰り返し処理そのものは、Applescript でも perl でもshell でもサポートされています。そういうのを(コマンドとして)作ってから、(あるいは、Kawabe さんが紹介されたようなユーティリティを)Automator から使えばいいだけです。
ちなみに自分は Applescript はあまり使わないので、こんな場合なら、perl か shell です。非常に簡単です。

2007/06/10 00:20 Community User への返信

AppleScriptを利用して、2つのアクションで実現できました。参考になれば。
試した環境:Mac OS X 10.4.9, Automator 1.0.4, Finder 10.4.7, AppleScript 1.10.7
● Automatorを起動する
● アクション:Finder 項目の選択を求める
○「ライブラリ - アプリケーション - Finder」から「アクション - Finder 項目の選択を求める」をドラッグ&ドロップ
○ タイプ:ファイル、開始場所:デスクトップ、メッセージ:複製したいファイルを選択してください、チェック入:複数選択を可能にする
● アクション:AppleScript を実行
○「ライブラリ - アプリケーション - Automator」から「アクション - AppleScript を実行」をドラッグ&ドロップ
○ AppleScriptのコードを例えば以下のようにする
on run {theItemsSelected}
tell application "Finder"
set theFolder to choose folder with prompt "どこに複製ファイルを作成しますか?"
set startNum to 1
set finishNum to 1000
set numWidth to length of (finishNum as string)
repeat with anItem in theItemsSelected
set nameFormat to text returned of (display dialog "ファイル名のパターンを指定:%が数字に置き換わる" default answer (name of anItem) & "%_copy")
set pos to offset of "%" in nameFormat
set len to length of nameFormat
set nameHead to (characters 1 thru (pos - 1) of nameFormat)
set nameTail to (characters (pos + 1) thru len of nameFormat)
repeat with num from startNum to finishNum
set aFile to duplicate anItem to theFolder without replacing
set numText to "00000" & num as string
set numLen to length of numText
set addStr to (characters (numLen - numWidth + 1) thru numLen of numText) as string
set name of aFile to (nameHead & addStr & nameTail) as string
end repeat
end repeat
end tell
end run
● Automatorのファイルメニューから保存 (フォーマット:アプリケーション) する。このアプリケーションをダブルクリックして実行する。複製元のファイル、複製したファイルの保存場所、ファイル名のパターン (%を含む文字列で%のところが0123のような数字になる) の入力が求められる。
参考:MacWiki - AppleScriptTips
http://macwiki.sourceforge.jp/wiki/index.php/AppleScriptTips

ファイルの連続コピーについて

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple ID を使ってご参加ください。