AutomatorでファイルのEOFを確認

SMB共有にフォルダアクションを設定し、自動でFTPサーバにアップするフローを作成したのですが、

容量が大きいファイルですと、途中でアップされてしまいます。

そこでディスカッション内を検索してこのような書き込みを見つけました。

「最初にファイル名を取得、シェルスクリプトでそのファイルの「EOF」を確認し続け、確認後に次の動作を行なうようにしました。

これで、中間ファイルを送ってしまう動作は起きなくなったようです。」


シェルスクリプトでEOFを確認し続ける方法を教えて下さい。

お願いします。

MacBook Pro, Mac OS X v10.7.3 Lion

投稿日 2013/09/29 11:20

返信
返信: 16

2013/10/02 21:12 yos への返信

度々、失礼致します。


おそらく、yosさんが意図されている『EOFの確認』とは、ファイルのコピーが完全に終了したことを確認する、というものだと想像しています。 AppleScriptのget eofコマンドはファイルのサイズを返すので、コピーの実行中に、定期的にファイルサイズを調べることで、サイズに変化がなくなった時点でコピーが終了したと判断できるものと考えます。


例えば、以下のAppleScriptをAppleScript Editorで実行すると、ダイアログで選択したファイルのEOFのバイト数、つまり、ファイルのサイズを返します。 御確認下さい。


set theFile to choose file


set theRN to open for accesstheFile


set theEOF to get eoftheRN


close accesstheRN


theEOF

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

AutomatorでファイルのEOFを確認

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