Applescript를 사용하여 클립 보드에 파일 복사


11

종종 커맨드 라인에서 파일을 클립 보드에 복사하고 싶어서 Mail에서 첨부 파일로 붙여 넣기 할 수 있습니다. 이미지 파일이 있으면 image1.png이 작업을 수행 할 수 있습니다.

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

위의 명령을 실행 한 다음 Mail에서 새 메시지를 열고 명령 V를 누르면 이미지 파일이 첨부 파일로 붙여집니다. 참고 pbcopy명백하게 하지 이것은 복사 때문에, 여기에 솔루션 컨텐츠 파일을 정크 결과 명령 V.에 붙여 넣을 때

내 질문은 여러 파일로 같은 일을 어떻게 할 수 있습니까? 내가 둘을 붙여 넣을 가정 image1.png하고 image2.png. 이것은 Finder에서 사소한 것입니다 (명령 C, 명령 C를 차례로 선택한 다음 Mail 및 명령 V로 전환하십시오.


1
이것은 AppleScript의 tuckus에 고통입니다. 스크립팅 가능한 클립 보드 관리자 중 하나를 선택하거나 선호하는 스크립팅 언어를 통해 Cocoa NSPasteboard를 사용하는 것이 좋습니다. 다른 옵션은 폴더 작업을 생성하여 파일을 폴더에 복사 한 다음 Finder가 폴더의 모든 항목을 선택하고 클립 보드에 복사 한 다음 폴더를 비우도록하는 것입니다. 파일을 첨부 파일로 전자 메일로 보내려면 목록을 반복하여 메일 → 새 발신 메시지 → 내용 → 메일 첨부 파일을 작성하십시오.
Art Taylor

1
@ArtTaylor, 옵션 주셔서 감사합니다. 필자는 마지막으로 언급 한 마지막, 기본적으로 Mail에 make new attachment with properties {file name:this_file} at after last paragraph반복 루프를 사용하여 메일을 알려주는 Applescript를 작성 중입니다 argv. 그러나 원래 질문에 대한 대답이 실제로 "Applescript로는 할 수 없습니다"인지 궁금합니다.
JCOidl

나는 정말로 그 느낌을 가지고 있지만 "할 수 없다"고 말하는 것을 싫어합니다. Pasteboard에는 여러 버전의 클립 보드 내용이 포함되어 있으므로 붙여 넣기 수신자가 적절한 표현을 선택할 수 있기 때문에 어려움이 실제로 일반적인 솔루션을 만드는 데 있다고 생각합니다.
Art Taylor

답변:


1

이것은 당신이 원하는 것에 완벽하지는 않지만, 더 가까이 갈 수 있다고 생각합니다. Quicksilver 에는 명령 줄 도구가 있습니다. 설치되면 명령 줄에서 Quicksilver 앱으로 파일을 파이프하여 Mail에서 첨부 파일로 보낼 수 있습니다.

Quicksilver 명령 행 도구를 설치하려면 Quicksilver를 활성화하십시오. 그런 다음 Quicksilver> 환경 설정으로 이동하여 환경 설정 창을여십시오. 창의 오른쪽 상단에있는 기본 설정을 클릭하십시오. 왼쪽에서 Command Line Tool을 클릭하고 설치하십시오.

터미널에서 입력 할 수 있습니다

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

Enter 키를 누르면 해당 파일이 Quicksilver의 첫 번째 창으로 전송됩니다. tab을 눌러 작업 창으로 이동하고 첨부 파일이있는 메일 / 새 이메일 작업을 선택하십시오. Enter 키를 누르면 선택한 파일이 첨부 된 새 이메일이 나타납니다.

Quicksilver (Quicksilver> 환경 설정> 플러그인)에 메일 및 명령 행 플러그인도 설치해야합니다.


1

당신은 같은 것을 할 수 있습니다 :

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

이제 전자 칠판에는 메일에 붙여 넣을 수있는 여러 파일 (여러 폴더의)이 포함되어 있습니다.


-5

왜 드래그 앤 드롭하지 않습니까? 때로는 기술자들이 지나치게 복잡 해져서 Mac이 할 수있는 간단한 일을 잊어 버리기도합니다.


와. 드래그 앤 드롭에 반대하는 세 사람.
Zo219

3
"왜 드래그 앤 드롭이 아닌가?"라는 답변에 반대하는 사람들은 없습니다. AppleScript로 무언가를하는 방법에 관한 질문에.
Duncan Babbage
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.