1

現在マシン上で実行されているアクティブなプロセスの数を調べ、各プロセスのパスを文字列として配列に出力する簡単なスクリプトを作成しました。

これが私のコードです(実際には正当な機能はありません。AppleScriptがどのように機能するかを確認するためにさまざまなことを試みています):

tell application "System Events"
  set activeProcess to number of process
  set paths to {0}
  repeat with n from 1 to activeProcess
    set last item of list paths to (file of process n as string)
  end repeat
end tell

そして、実行を押したときにAppleScriptエディタが返すエラーは次のとおりです。

System Events got an error: Can’t set list {0} to "Macintosh HD:System:Library:CoreServices:loginwindow.app:".

私は何が間違っていないのですか?

4

1 に答える 1

2

試す:

tell application "System Events" to set myprocess to files of processes

また

set AppleScript's text item delimiters to linefeed
tell application "System Events" to set myprocess to paragraphs of (files of processes as text)
set AppleScript's text item delimiters to {""}

次のような繰り返しループからリストを作成できます。

set paths to {}
tell application "System Events"
    set activeProcess to processes
    repeat with n from 1 to count activeProcess
        set end of paths to (file of item n of activeProcess as text)
    end repeat
end tell

またはこのように:

set paths to {}
tell application "System Events"
    set activeProcess to processes
    repeat with aProcess in activeProcess
        set end of paths to (file of aProcess as text)
    end repeat
end tell
于 2013-03-14T16:50:16.930 に答える