2

名前を変更して、約70本のUSBスティックを埋める必要があります。挿入時にApplescriptを自動的に実行すると、はるかに簡単になります。

4

1 に答える 1

6

OSXマシンに接続する外付けドライブはすべてにマウントされ/Volumesます。そのフォルダの変更を監視する場合は、追加された外付けドライブを取得して処理できます。このコードの実行:

property ignoredVolumes : {"Macintosh HD", "Time Machine Backups"} -- add as needed
tell application "System Events"
    set rootVolume to disk item (POSIX file "/Volumes" as text)
    set allVolumes to name of every disk item of rootVolume
    repeat with aVolume in allVolumes
        if aVolume is not in ignoredVolumes then
            set name of disk item (path of rootVolume & aVolume) to newName
        end if
    end repeat
end tell

リストにないドライブの名前を変更しますignoredVolumes(無視するドライブを除くすべてのプラグを抜き、ls /Volumesターミナルで実行して、プロパティに名前を追加します)newName。変更のたびにこれをトリガーするには、コードを変更して、Stay-Openスクリプトアプリケーションにします。

property pollIntervall : 60 -- in seconds
property ignoredVolumes : {…} -- from above

on run
    my checkVolumes()
end run

on idle
    my checkVolumes()
    return pollInterval
end idle

on checkVolumes()
    tell … end tell -- from above
end checkVolumes

それをAppleScriptエディタに保存します(「AppleScriptアプリケーション」を選択します。実行するときは必ず「開いたまま」にチェックマークを付けてください)。on idle起動すると、スクリプトは実行を継続し、ハンドラーを毎秒実行しpollIntervalます。

基本的に1回に1回のバッチジョブを実行している場合、これは問題なく機能します。オープン状態のスクリプトアプリケーションの実行に依存しない、より永続的なソリューションが必要な場合は、次のいずれかを実行できます。

  • フォルダアクションスクリプトをフォルダに添付し/Volumesます(AskDifferentのPhilipReganへのヒント;このMacOS Xヒントの投稿でアクションを構成する方法の詳細)– /Volumes、またはへの追加を厳密に処理することの利点
  • キーをに設定しlaunchdてLaunchAgentを作成することで使用します。これにより、ファイルシステムがマウントされるたびにエージェントが起動するスクリプト/アプリがトリガーされます(AskDifferentのDanielBeckへの帽子のヒント詳細についてはAppleのテクニカルノートTN2083を参照してください)。StartOnMounttrue
于 2012-05-11T15:42:41.993 に答える