El yazısını editörü açmadan yürütün


12

El yazısını her çalıştırmak istediğimde editör açılır.

Doğrudan çalıştırmanın bir yolu var mı?

Yanıtlar:


19

Komut dosyasının nasıl kaydedileceği Mac OS X'te nasıl çalışacağı üzerinde büyük bir etkiye sahiptir. Komut dosyanızın sadece bir komut dosyası olarak kaydedildiği ve komut dosyasını her açtığınızda komut dosyası düzenleyicisinin açılmasına neden olan şey budur.

Sorunu çözmek için, komut dosyasını AppleScript düzenleyicisinde açın ve bir uygulama olarak kaydedin. Bu hile için gerekir.

Adımlar (editörde)

Dosya> Farklı Kaydet> ardından Dosya Biçimini uygulamaya ayarlayın ve kaydedin.

bağlantı metni


Şimdi soruyor: "Çalıştırmak için run tuşuna basın veya çıkmak için çıkın" ... ama sanırım bu script hatası! Thank you
OscarRyz

1
Çalıştır onay kutusunun işaretlenmesi komut isteminin görünmesini durdurabilir.
Bruce McLeod

Anladığım kadarıyla, Yalnızca Çalıştır onay kutusunun komut dosyasının daha sonra düzenlenmesine izin vermemesi.
jtbandes

@jtbandes ahhhh ... bu mantıklı
Bruce McLeod

2
Lütfen Yosemite'de mevcut yöntemin Dosya -> Dışa Aktar seçeneğini kullanmak olduğunu unutmayın. AppleScript düzenleyicinin en son sürümünde Farklı Kaydet iletişim kutusu yok.
anon58192932

7

Komut dosyasını kaydederken, Dosya Biçimi açılır menüsünden "Uygulama" yı seçebilirsiniz; o zaman onu çalıştırabileceksiniz ve hala komut dosyasını açmak için Komut Dosyası Düzenleyicisi'ne sürükleyebileceksiniz; veya düzenlenebilir sürümü kaydetmemesi için Yalnızca Çalıştır'ı seçebilirsiniz.

Alternatif olarak, osascriptTerminal'deki komutu osascript /path/to/scriptveya olarak kullanabilirsiniz osascript -e "a short script here".


1

Komut dosyasını ~ / Library / Scripts / Finder / klasörünüze yerleştirebilir ve doğrudan Komut Dosyası menüsünden çalıştırabilirsiniz.


1

MacOS High Sierra 10.13 altında Dosya / Farklı kaydet seçeneği yoktur.

Dosya / Dışa Aktar / Dosya Biçimini kullanmalısınız: Uygulama Dosya Dışa Aktarma Dosya formatı


0

Başka bir yol da, Automator'da osascriptFinder'da bir .scpt çalıştırmak için komut kullanan bir Hizmet oluşturmaktır .

(Ben Automator İngilizce kullanmıyorum, bu yüzden ifade doğru olmayabilir)

  1. Automator'u Başlat
  2. Dosya> Yeni'yi seçin ve Hizmet'i seçin
  3. "Hizmet Kabul Ediyor:" bölümünde "Dosya veya Klasör" ü seçin
  4. "Konum:" bölümünde "Finder.app" öğesini seçin
  5. "AppleScript'i Çalıştır" ifadesini arayın ve öğeyi sağ tarafa sürükleyin
  6. AppleScript'i Çalıştır kutusuna aşağıdaki kodu girin:

    on run {input, parameters}
        tell application "Finder"
            --get the selected file
            set selectedItem to (item 1 of (get selection))
    
            --get location info (folder:file format)
            set fileLocation to (selectedItem as alias) as string
    
            --replace : with / with subroutine
            set the semifinal to my replace_chars(fileLocation, ":", "/")
    
            --remove Macintosh HD with subroutine
            set the theFinal to my replace_chars(semifinal, "Macintosh HD", "")
        end tell
        do shell script "osascript " & "\"" & theFinal & "\""
        return input
    end run
    
    on replace_chars(this_text, search_string, replacement_string)
        set AppleScript's text item delimiters to the search_string
        set the item_list to every text item of this_text
        set AppleScript's text item delimiters to the replacement_string
        set this_text to the item_list as string
        set AppleScript's text item delimiters to ""
        return this_text
    end replace_chars
    
  7. Dosya> Kaydet ve "AppleScript'i Çalıştır" gibi bir ad verin

  8. Şimdi Finder'da bir .scpt dosyasını sağ tıklayıp "AppleScript'i Çalıştır" ı seçip komut dosyanızın yürütülmesini görebilirsiniz.

Referans: Alt rutinin kaynağı - AppleScript: Temel Alt Rutinler


AppleScript kodunuzla ilgili sorunlar görüyorum. 1. Seçili olanın .scpt dosyası olarak aktarılmadan önce doğrulanması için herhangi bir hata işlemeniz veya kodunuz yoktur osascriptve Finder'da birden fazla .scpt dosyası seçildiyse işlenecek şekilde kodlanmamıştır. 2. Aşağıdaki tek kod satırı, AppleScript'i Çalıştır eylemine eklediğiniz her şeyin yerini aldığında, bu tür kodlama donanımlarından geçmeye kesinlikle gerek yoktur. do shell script "osascript " & quoted form of POSIX path of item 1 of inputMevcut AppleScript kodunuzdaki her şeyi değiştirmek için minimal bir örnek: paste.ee/p/XngKA
user3439894

Minimal örnekte, ififade bloğu else, seçilen dosyanın bir .scpt dosyası olmadığını belirten bir ileti görüntüleyen bir cümle ile genişletilebilir . Bu şekilde kullanıcı, hizmet çalıştırıldığında yanlışlıkla yanlış dosya türünü seçtiklerini görmediyse neden hiçbir şey olmadıklarını merak etmeyecektir.
user3439894
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.