1

画像でいっぱいのフォルダがあり、applescript を使用してすべての画像名のテキスト ファイルを作成する必要があります。Applescript を使用して、約 10k あるすべてのファイル名を読み取り、これをテキスト ファイルに出力する方法はありますか? どんな助けでも素晴らしいでしょう!読んでくれてありがとう。

4

3 に答える 3

5

なぜターミナルからそれをしないのですか?

ls > pix.txt

于 2009-06-25T23:13:14.940 に答える
1

アクセスするためにファイルを開く前に、ファイルを作成する必要はありません。あなたはただすることができます

set theFile to (theFolder & "thefile.txt")as string
set openFile to open for access theFile with write permission

もちろん、ファイルが存在する場合は上書きされます。あなたが使用することができます

set thefile to choose file name with prompt "name the output file"

「ファイル名を選択」は、ファイルを作成せずにパスを返し、ファイルが存在する場合は上書きするかどうかをユーザーに尋ねます。

「return」を使用して改行を入れることもできます。これにより、コードが少しきれいになります。

write fileName & return to openFile

もちろん、シンプルでエレガントな方法が必要な場合は、コマンドが必要な場所です。

ls>thefile.txt

この例では、'>' は ls (ディレクトリのリスト) コマンドからの出力をファイルに書き込みます。これはapplescript内から実行できます

set thePosixDrectory to posix path of file thedirectory of app "Finder"
set theposixResults to posix path of file theresultfile of app "Finder"
do shell script ("ls \"" & thePosixDrectory & "\">\"" & theposixResults & "\"")as string

posix パスのものは、applescript スタイルdirectory:paths:to your:filesを unix スタイルに変えること/directory/paths/to\ your/filesです。

実際に実行されるシェル スクリプトは次のようになります。

ls "/some/directory/path/">"/some/file/path.txt"

引用符は、スペースやその他のファンキーな文字がシェル スクリプトを混乱させないようにするためにあります。AppleScript で引用符が引用符として読み取られるのを防ぐために、バックスラッシュを使用してそれらを「エスケープ」しました。次のように、コードをより読みやすくするために、一重引用符を使用することもできます。

do shell script ("ls '" & thePosixDrectory & "'>'" & theposixResults & "'") as string

次のようにシェルに表示されます

 ls '/some/directory/path/'>'/some/file/path.txt'

HTH

于 2009-07-14T04:59:50.673 に答える