Automator 워크 플로를 클라이언트에 배포하는 방법은 무엇입니까?


2

특정 사용 사례의 경우 Automator를 사용하여 폴더 작업 과정을 개발했습니다. 파일이 'abc'폴더에 생성되면 워크 플로가 실행되고 쉘 스크립트가 실행됩니다.

이 워크 플로는 회사 환경의 많은 클라이언트 컴퓨터에 설치 / 배포해야합니다. 최종 사용자에게 설정 지침을 제공 할 수는 있지만이 방법은 오류가 발생하기 쉽기 때문에 더 나은 방법을 찾고 있습니다.

나는 실제 워크 플로우 정의가 다음에 저장된다는 것을 알고있다.

/Users/[user]/Library/Workflows/Applications/Folder Actions/*

* .workflow / Contents / document.wflow에는 folderActionFolderPath가 포함되지만 폴더 작업을 사용할 수 없으므로 한 클라이언트에서 다른 클라이언트로 워크 플로를 복사해도 작동하지 않습니다. Finder (홈 폴더 - & gt; 폴더를 마우스 오른쪽 버튼으로 클릭 - & gt; 드롭 다운 메뉴에서 '폴더 작업 설정 ...'선택)에서 계속 활성화해야합니다. 명령 줄에서이 구성 단계를 자동화하는 방법을 찾지 못했습니다.

시스템 관리자가 여러 클라이언트 시스템에 폴더 작업 흐름을 설치하는 방법은 무엇입니까?


자동화 자동화에 흥미로운 사례 ... 최종 목표는 무엇입니까? 어쩌면 우리는 당신의 모든 목표에 또 다른 접근법을 제안 할 수 있습니다.
Mateus Ribeiro

답변:


1

프로세스를 "바보 증명"하고 싶다면 여기에 옵션이 있습니다. Script Editor.app에서 비어있는 새 문서를 만든 다음 즉시 응용 프로그램으로 저장합니다 ( "JIMZ 첨부 폴더 Action.app"로 저장).

이 응용 프로그램의 목적은 Automator 워크 플로우 파일 (스크립트 편집기에서 방금 작성한이 새 응용 프로그램의 "Resources"폴더에 포함됨)을 사용자 컴퓨터의 "ABC"폴더에 첨부하고, 해당 컴퓨터의 필요한 "폴더 작업"폴더로 이동하십시오. 대상 컴퓨터에 "ABC"폴더가 없으면 파일이 생성됩니다. 이 프로젝트의 목적 상 "ABC"폴더 위치는 대상 컴퓨터의 바탕 화면에 있습니다.

방금 작성한 새로운 빈 AppleScript 응용 프로그램에 다음 코드를 붙여 넣으십시오.

property nameOfTriggerFolder : "ABC"
property pathToFolderActions : ((path to workflows folder as text) & "Applications:Folder Actions:")
property attachFolderActionTo : (path to desktop as text) & nameOfTriggerFolder

set resourceName to "ABC Folder Action.scpt"
set folderActionScript to ((path to me as string) & "Contents:Resources:" & resourceName) as string

tell application "Finder"
    if not (exists of folder attachFolderActionTo) then
        make new folder at (path to desktop) with properties {name:nameOfTriggerFolder}
    end if
    duplicate file folderActionScript to folder pathToFolderActions with replacing
end tell

tell application "Folder Actions Setup"
    activate
    try
        set addedFolderAction to make new folder action with properties {name:nameOfTriggerFolder, path:attachFolderActionTo}
    end try
    try
        delay 0.5
        tell addedFolderAction to make new script with properties {name:resourceName, path:(pathToFolderActions & resourceName)}
    end try
    if not folder actions enabled then
        set folder actions enabled to true
    end if
end tell

그런 다음 Automator 워크 플로 파일을 Finder 응용 프로그램에서 직접 스크립트 편집기의 리소스 폴더로 드래그하십시오 (아래 애니메이션 참조)

enter image description here

스크립트 편집기에서 앱을 컴파일하고 저장하십시오. 이제이 앱을 원하는 사람에게 배포 할 수 있습니다. 이 응용 프로그램이 이제 대상 컴퓨터에서 실행되면 Automator 워크 플로 파일을 직접 배치해야하는 폴더로 복사합니다. 또한 "ABC"폴더를 Folder Actions Setup.app의 사용 가능한 폴더 목록에 추가하고 해당 폴더에 스크립트 또는 워크 플로 파일을 첨부합니다


GIF를 어떻게 구합니까?
Mateus Ribeiro

@MateusRibeiro 단지 스크린 레코딩에 내장 된 Mac을 사용하여 스크린 동작을 녹화합니다. 그런 다음 비디오 파일을 GIF Brewery 3에로드하여 편집하고 .gif로 저장합니다. gifbrewery.com
wch1zpink

0

ilk에서 @ wch1zpink의 제안과 유사하게, 나는 폴더 작업 스크립트가 아닌 자동화 워크 플로우는 다음과 같습니다.

on adding folder items to directory after receiving fs

    do shell script "..."

end adding folder items to

이것을 다음 중 하나로 저장하십시오. .scpt 또는 .applescript 파일을 복사하여 ~/Library/Scripts/Folder Action Scripts그런 다음 폴더 작업의 생성을 스크립팅하고 다음과 같이 폴더에 첨부 할 수 있습니다.

use sys : application "System Events"

property name : "abc"
property path : "/path/to/abc"
property folder action : a reference to folder action named (my name)
property script : "my folder action script.applescript"
property folder : a reference to Folder Action scripts folder
property file : a reference to the file named (my script) in my folder

set folder actions enabled to true

if not (my file exists) then return open my folder
if my folder action exists then return my folder action's scripts

make new folder action with properties {name:my name, path:my path}
tell my folder action to make new script with properties ¬
    {name:my file's name, POSIX path:my file's POSIX path}

set my folder action's enabled to true
set my folder action's scripts's enabled to true

어디에 "my folder action script.applescript" 저장된 폴더 작업 스크립트의 이름입니다. 및 속성 namepath 모니터 된 폴더의 이름과 경로를 나타냅니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.