Finder에서 파일을 교체하기위한 키보드 단축키?


2

방금 "screenshot.jpg"라는 스크린 샷을 캡처하고 "screenshots"라는 스크린 샷 폴더가 있다고 가정하겠습니다.

Screenshots
 └ Work.jpg
 └ School.jpg
 └ Misc.jpg

최근에 캡처 한이 스크린 샷을 가져 와서 스크린 샷 폴더 내의 "misc.jpg"파일을 바꾸고 싶습니다. 가장 좋은 방법은 무엇입니까? 파일 이름을 현재 폴더 내의 파일 이름으로 바꾸고 폴더에 복사하여 붙여 넣은 다음 메시지가 표시되면 "파일 바꾸기"옵션을 선택할 수 있지만 이상적이지는 않습니다. 이 작업을 수행 할 수있는 단축키 또는 다른 빠른 방법이 있습니까?

참고 : 이것은 사용 사례의 예일뿐입니다. 파일 이름이나 파일 형식에 관계없이 빠른 방법을 사용할 수 있다면 이상적입니다.


1
그렇게하기 위해 애플 스크립트를 작성하는 것은 어떻습니까? 검색은 당신에게 시작하는 예를 줄 수 있습니다 ...
Solar Mike

1
미끄러운 경사입니다. 한 작업에 대해 하나를 찾은 다음 몇 가지를 더 수행했습니다! 행운을 빕니다!
Solar Mike

1
스크립트가 있으면 서비스로 설정할 수 있습니다. 오른쪽 클릭 메뉴를 통해 사용할 수 있습니다 ...
Solar Mike

1
@SolarMike 저도 찾았지만 더 잘할 수 있습니다. 스크립트를 Finder 윈도우에 내장하고 파일을 스크립트 아이콘에 놓으면 스크립트가 실행되도록 할 수 있습니다! 다음을 참조하십시오 : macosxautomation.com/applescript/firsttutorial/16.html 그리고 이것 : developer.apple.com/library/content/documentation/… 또한 평판을 원한다면 솔루션을 답으로 자유롭게 추가하십시오. 받아들이겠습니다.
Zachary David Saunders

1
@ 당신은 링크를 제공했습니다 : 답변을 기쁘게 생각하고 내가 당신을 위해 +1합니다. ! 그러나 즐기십시오
Solar Mike

답변:


2

이 작은 AppleScript는 스크린 샷을 찍고 현재 Finder에서 선택한 파일을 덮어 씁니다.

    # Check that precisely one file is selected 
    set F to the selection of application "Finder" as list
    if (count F) ≠ 1 then return beep

    set F to F's first item as alias

    # Perform a screengrab straight to the clipboard
    # then overwrite the file above with the image
    # data from the clipboard

    do shell script "screencapture -c"
    set screenshot to the clipboard as JPEG picture

    write screenshot to (F as alias)

이동, 복사 또는 삭제되지 않습니다. 단순히 덮어 씁니다. 따라서 생성 된 날짜는 동일하게 유지되므로 2 년 전에 만든 이미지 파일에 새 스크린 샷을 작성하는 것을 볼 수 있습니다. ( 수정 된 날짜는 예상대로 업데이트됩니다.)

누군가가 제안했듯이, 이런 종류의 작업 은 Finder서비스 로 잘 작동 하며 바로 가기를 지정할 수 있습니다.

나는 하나를 만들기 위해 갔다.

오토메이터 워크 플로우

이 스크립트는 위의 스크립트와 매우 유사하며 복사 / 붙여 넣기를 위해 코드 블록에서이 답변의 맨 아래에 추가됩니다. 서비스가 될 것이라는 점을 감안할 때 약간의 오류 처리 및 알림이 발생하며 강력한 서비스로 만드는 것이 좋습니다. 또한 서비스가 활성화 될 때 찍은 스크린 샷에는 Finder의 초점이 있어야하므로 원하는 스크린 샷이 아닐 수 있으므로 자체 스크린 샷도 찍지 않습니다.

따라서이 서비스는 사용자가 이미 스크린 샷을 찍었고 클립 보드에서 대기중인 것으로 가정합니다. Finder에는 이미 스크린 샷을 클립 보드로 바로 보낼 수있는 바로 가기가 있으므로 별도의 작업을 수행 할 필요가 없습니다.

입력 한 이미지가 Finder의 이미지 파일임을 알 수 있으므로 이미지 파일 바꾸기 라는 서비스로 서비스를 저장했습니다 . 따라서 응용 프로그램 파일을 선택한 경우 서비스가 실수로 트리거되지 않습니다.

Finder 에서 이미지를 마우스 오른쪽 버튼으로 클릭 할 때마다 팝업 컨텍스트 메뉴에 나타납니다 .

상황에 맞는 메뉴에 서비스 표시

다음으로 시스템 환경 설정으로 이동하여 키보드 단축키를 지정했습니다.

시스템 환경 설정> 키보드 단축키

이 바로 가기는 서비스 아래 의 Finder 메뉴에 나타납니다 .

단축키는 Finder 메뉴에 표시됩니다

실수로 누르기가 어렵 기 때문에 ⌃⇧⌘R을 선택했지만 스크린 샷을 클립 보드로 곧바로 보내는 기본 바로 가기, 즉 ⌃⇧⌘3 및 ⌃⇧⌘4에 가깝습니다. 스크린 샷과 편리한 서비스를 제공합니다.

테스트에서 훌륭하게 작동했기 때문에 상당히 유용하다는 것을 알기 때문에 스스로 보관할 수 있습니다.

마지막으로 Automator 서비스 워크 플로 의 코드 블록은 다음과 같습니다.

    on run {input, parameters}

        # Make sure precisely one file is passed to the service
        # Otherwise terminate with a beep
        if (count input) is not 1 then return beep

        # Error catching in the event that the clipboard
        # does not contain image data 
        try
            set ImageData to the clipboard as JPEG picture
        on error errMsg number errNo
            # Terminate script with a notification
            return display notification ¬
                "No image content found.  Unable to proceed." with title ¬
                "Replace Image File" subtitle ¬
                "Error: clipboard content is the wrong data type"
        end try

        # If the script reaches this point, all must be
        # well so we can try and overwrite the input file
        try
            write ImageData to input
        on error errMsg number errNo
            return display notification ¬
                "Unsuccessful overwriting." with title ¬
                "Replace Image File" subtitle ¬
                ("Error " & errNo as text) & ": " & errMsg
        end try

    end run

1
미안 해요, 한 단지 이상적으로 모든 파일 형식에 대해 작동하는 일반화 된 방법을 원하는에 대한 귀하의 추가 메모를 볼. 분명히, 이미지를 다루는 예제 상황으로 제한했지만 비트를 쉽게 적용하고 일반적인 파일 교체 서비스로 전환하는 것은 쉽습니다. 추가 도움이 필요하면 의견을 남겨주십시오.
CJK

지연 돼서 죄송합니다. 예, 이것이 바로 내가 찾던 것입니다. 자세한 글을 보내 주셔서 감사합니다. 나는 당신의 대답을 받아 들였습니다, 건배!
Zachary David Saunders
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.