検索にFinderを使用すると、フォルダに数百のファイルしか含まれていない場合でもOKです。しかし、何千ものファイルを含むフォルダを検索したい場合、Finderは時間がかかります。この場合、はるかに高速なシェルコマンド 'find'を使用する方が良いでしょう。
コマンドを見つけるの構文は次のとおりです。あなたのケースで見つかったファイルをコピーする:あなたが何かを検索した結果を使用します-exec fonctionでコマンドチェーンをすることができ、さらにディレクトリ/ -name target_file_name
を見つけますピクチャフォルダにあります。
-execコマンドでは、{}は見つかったファイルを意味します。シェルコピーコマンドはcpです。
これで終わる:find/Users/myUserName/-name '拡張イメージ名.jpg' -exec cp {} \;
:;:
set Source to POSIX path of (path to home folder)
set Dest to POSIX path of (path to pictures folder)
set TargetName to "extended image name.jpg"
set BackSlash to ASCII character 92
set SemiCol to ASCII character 59
try
do shell script "find " & Source & " -name " & quoted form of TargetName & " -exec cp {} " & Dest & " " & BackSlash & SemiCol
end try
はそれがはるかに長いです
は全体的に、あなたがAppleScriptを経由してシェルスクリプトを実行するには、このコマンドを実行することができます(注\は-execコマンドの終わりのシステムに指示します) Finderの構文より優れていますが、実行するのがはるかに高速です!
注
1)POSIXパスが有するファインダーパスを変換:/
2とシェルのパスに)バックスラッシュとSemiColが\とするように設定されています。 。これはApplescriptコンパイラがコンパイル中に\を誤って解釈するのを回避するための回避策です。
3)doシェルスクリプトはエラーを回避するためにtry/end tryブロックにあります。許可されていないファイルにアクセスしようとすると、「検索」のエラーが発生します。このようなエラーは無視されます。
4)この方法では、ソースを「/」で置き換えることができます。そうすることで、findはメインドライブのすべてのディレクトリを検索します(時間がかかることがあります)。すべてのユーザーを検索する場合は、ソースを「/ Users /」に設定してください。
これはあなたの質問には答えませんが、_code_の行は 'move(画像フォルダへのパスに ' – user3439894
@ user3439894'(ホームフォルダへのパス) 'も' home'に置き換えることができます – vadian