AppleScript を使用して新しく追加されたファイルのフォルダーをスキャンするにはどうすればよいですか。
フォルダー内の最新のファイル (画像形式) を、前回の検査から識別しようとしています。
AppleScript を使用して新しく追加されたファイルのフォルダーをスキャンするにはどうすればよいですか。
フォルダー内の最新のファイル (画像形式) を、前回の検査から識別しようとしています。
私があなたの質問を正しく理解していれば、スクリプトを実行すると「新しい」ファイルがすべて表示されるスクリプトが必要になります。「新しい」は、スクリプトが以前にそれらを見ていないことを意味します。
したがって、ファイル a.txt、b.txt、および c.txt を含むディレクトリでスクリプトを実行すると、これら 3 つのファイルすべてがスクリプトから返されます。次に、再度実行する前に、ファイル d.txt と e.txt が追加されます。次に、スクリプトを実行すると、d.txt と e.txt の両方が取得されます。
これを実現するには、スクリプトの実行の間にいくつかの情報を保存する必要があります。たとえば、隠しファイル .lastFileISaw を作成し、最後のファイル名またはそのタイムスタンプを保存することができます。次に、applescript cna がこのファイルをチェックし、存在しない場合はディレクトリ内のすべてのファイルを返し、存在する場合は隠しファイルの内容よりも新しいファイルのみを返します。
Dropbox や SparkleShare などのサービスは、OSX 上の DTrace を利用して、このようなことを実現していると思います。
do shell script "ls -t ~/Pictures | head -n1"
最新のファイルのベース名を出力します。
これは完全なパスを出力します:
find ~/Pictures -depth 1 -exec stat -f "%m %N" {} \; | sort -n | tail -n1 | sed 's/^[^ ]* //'