Applescript disk montajında ​​nasıl çalıştırılır


11

Belirli bir diski taktığımda bir Applescript çalıştırmak istiyorum. Komut dosyası diskte bulunuyorsa veya bulunmuyorsa, yalnızca OS X diski taktığında çalıştırılmalıdır.

Bunu klasör eylemleriyle gerçekleştirmeye çalıştım, ancak bu şekilde yapmak mümkün görünmüyor.

Açıklama:

  1. Macbook'umla eve dönüyorum
  2. USB Hub'ımı cihaza takıyorum
  3. Harici diskler OS X'e monte edilmiştir
  4. Applescript'im yayınlanıyor, bu disklerde bazı şeyler yapıyor

4. adımı otomatikleştirmek istiyorum.


Yanıtlar:


4

Diski hangi bağlamda monte ettiğinizi söylemezsiniz, ama diğer yöne gidip Diski Applescript ile monte etmeye ne dersiniz?

Bağlamdan bahsettiğim için, Applescript ile bir diski monte ederken, bir ağ birimi ise ve ağ parola korumalı ise, kullanıcı adı ve parolanın sorunsuz bir şekilde komut dosyasında düz metin olarak saklanması gerektiğine dikkat edin. yürütme.

GÜNCELLEME: Biraz araştırma başka bir yerde benzer bir soru buldu. Temel olarak, komut dosyasını / Birimlere Klasör Eylemi olarak uygulayarak bunu yapmak için bir komut dosyası yapılabilir:

on adding folder items to this_folder after receiving these_items
    repeat with aItem in these_items
        tell application "Finder"
            if (local volume of aItem) and (name of aItem is "[Name of Hard Drive]") then
                -- do something with the drive
                -- eject aItem
            end if
        end tell
    end repeat
end adding folder items to

AS ile bir disk takmak istemiyorum, disk takıldığında AS çalıştırmak istiyorum . Daha açık hale getirmek için yayınımı düzenleyeceğim.
jsadfeew

Soruyu anladım, ama bunu çok kolay yapmanın mümkün olduğunu düşünmüyorum. Bununla birlikte, biraz çalıştım ve ihtiyaçlarınızı karşılamak için biraz tweaking ile çalışması gereken bir şey buldum.
Philip Regan

Senaryoda bazı küçük değişiklikler yaptım. İyi çalışıyor :)
jsadfeew

12

Muhtemelen en sağlam çözüm, özelliği şu şekilde ayarlanmış bir launchdiş oluşturmaktır :StartOnMount-boolean YES

StartOnMount <boolean>
Bu isteğe bağlı anahtar, bir dosya sistemi her takıldığında işin başlatılmasına neden olur.

Time Machine böyle yapar (bkz. /System/Library/LaunchDaemons/com.apple.backupd-attach.plist).


Ben sadece "bu tür bir şey" düzgün bir şekilde ikamet nerede sadece launchd bağlıdır gibi, bu en sağlam çözüm olduğunu hissediyorum.
Matt

2

Birimleri izleyen / Birimleri Bulucu FolderAction kullanın. Yeni bir klasör göründüğünde, yeni bir disk takılmış demektir. Artık FolderAction, işinizi yapmak için bir Automator eylemi, AppleScript veya kabuk komut dosyası çalıştırabilir.



0

Çözüm, aşağıdaki 3 eylemi zincirleyen bir Automator uygulaması oluşturmak olabilir:

  • Belirtilen Bulucu Öğelerini Alın
  • Disk Görüntü Dağı
  • AppleScript'i çalıştırın

1
Yine, Applescript ile bir görüntü veya disk bağlamak istemiyorum, bir disk takıldığında bir komut dosyası çalıştırmak istiyorum. Bunu adımlarınızla başarmanın bir yolunu bulamıyorum.
jsadfeew

Evet, netleştirdikten sonra işe yaramadığını görüyorum çünkü bu sabit disk (görüntü diski değil).
kraymer

Cevabınız sorulandan farklı bir soruyu ele aldığından, silmeyi düşünmelisiniz.
DanielSmedegaardBuus

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.