El yazısını kullanarak dosyaları panoya kopyalama


11

Genellikle kendimi komut satırında dosyaları panoya kopyalamak isteyen buluyorum, böylece bunları Mail'e ek olarak yapıştırabiliyorum. Bir resim dosyam varsa image1.png, bunu şu şekilde yapabilirim:

osascript -e 'tell app "Finder" to set the clipboard to ( POSIX file "image1.png" )'

Yukarıdaki komutu yürütür ve sonra Mail'de yeni bir ileti açar ve V komutuna basarsam, görüntü dosyası ek olarak yapıştırılır. pbcopyGörünüşe göre burada bir çözüm olmadığını unutmayın , çünkü bu dosyanın içeriğini kopyalar ve V komutuyla yapıştırıldığında önemsizliğe neden olur.

Benim sorum aynı şeyi birden fazla dosyayla nasıl yapabilirim? Her iki yapıştırmak istediğiniz varsayalım image1.pngve image2.png. Bu Finder'dan önemsizdir (her ikisini de seçin, C komutunu verin, sonra Mail ve V komutuna geçin; voila, her iki dosya da ek olarak görünür)… ama bunu komut satırından nasıl yapabilirim?


1
Bu, AppleScript'teki tuckusta bir ağrıdır. Komut dosyası olan pano yöneticilerinden birini seçmenizi veya en sevdiğiniz komut dosyası dili aracılığıyla Cocoa NSPasteboard'u kullanmanızı öneririm. Diğer bir seçenek, bir klasör eylemi oluşturmak olabilir, böylece dosyaları klasöre kopyalayabilir, ardından Finder'ın klasördeki tüm öğeleri seçmesini, panoya kopyalamasını ve klasörü boşaltmasını sağlayabilirsiniz. Dosyaları yalnızca ek olarak e-postayla göndermek istiyorsanız, alternatiflerden biri listenizi yinelemek ve Posta → yeni giden mesaj → içerik → posta ekleri oluşturmaktır.
Art Taylor

1
@ArtTaylor, seçenekler için teşekkür ederim. Bahsettiğiniz son şeyi yapan bir Applescript üzerinde çalışıyorum, temelde make new attachment with properties {file name:this_file} at after last paragraphbir tekrar döngü kullanarak Mail söyleyecek bir şey argv. Orijinal sorunun cevabının gerçekten "Applescript ile yapamayacağınızı" gerçekten merak ediyorum.
JCOidl

Gerçekten böyle bir his var ama "yapamam" demekten nefret ediyorum. Macun, pano içeriğinin çeşitli sürümlerini içerdiğinden, macun alıcısının uygun bir temsili seçmesine izin verdiğinden, zorluğun gerçekten genel bir çözüm oluşturmada olduğunu düşünüyorum.
Art Taylor

Yanıtlar:


1

Bu, istediğiniz şey için mükemmel değil, ama sanırım sizi daha da yaklaştırabilir. Quicksilver bir komut satırı aracına sahiptir. Yüklendiğinde, dosyaları komut satırından Quicksilver uygulamasına aktarabilir ve oradan Posta'ya ek olarak gönderebilirsiniz.

Quicksilver komut satırı aracını yüklemek için Quicksilver'ı etkinleştirin. Ardından, tercihler penceresini açmak için Quicksilver> Tercihler'e gidin. Pencerenin sağ üst tarafındaki Tercihler'i tıklayın. Sol tarafta Komut Satırı Aracını tıklayın ve yükleyin.

Terminal'de şunu yazabilirsiniz:

qs path/to/file1 path/to/file2 path/to/file3 path/to/file4

Enter tuşuna bastığınızda bu dosyalar Quicksilver'in ilk bölmesine gönderilir. Eylem bölmesine gitmek için sekmeye basın ve Ekli Posta / Yeni E-posta eylemini seçin. Enter tuşuna bastığınızda, seçtiğiniz dosyaların ekli olduğu yeni bir e-posta görünmelidir.

Posta ve Komut Satırı eklentilerini de Quicksilver'e (Quicksilver> Tercihler> Eklentiler) yüklemeniz gerekeceğini unutmayın.


1

Gibi bir şey yapabilirsiniz:

set f to {(POSIX file "/path/to/a/folder/a.png"), (POSIX file "/path/to/another/folder/b.png")}
tell application "Finder"
    try -- to delete any old temp folder
        delete folder "AS_mailCopy" of (path to temporary items)
    end try
    set tmp to make new folder at (path to temporary items) with properties {name:"AS_mailCopy"}
    duplicate f to tmp
    select files of tmp
    activate
    tell application "System Events" to keystroke "c" using command down
    delete tmp
end tell

Artık çalışma tablonuz, postanıza yapıştırabileceğiniz birden fazla dosya (çeşitli klasörlerden) içeriyor.


-5

Neden sadece sürükleyip bırakmıyorsun? Bazen teknisyenler aşırı derecede karmaşıklaşır ve Mac'in yapabileceği basit şeyleri unutur.


Vay. Sürükleyip bırakmak için itiraz eden üç kişi.
Zo219

3
Hayır, "Neden sadece sürükleyip bırakmıyorsunuz?" AppleScript ile bir şeyin nasıl yapılacağını soran bir soruya.
Duncan Babbage
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.