スポンサーサイト

Tags :
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

楽してFTPサーバにアップロードするAppleScript

なんかアップロードネタが多いですけど。

サーバ上のHTMLとかCGIを編集する時なんかは、SSHでログインして直接いじる事が多いんですが(その事の是非はともかく)、背景に使う画像とかはさすがにリモートで編集する訳にもいかないので、ローカルで作業した後サーバにアップロードしてるんですけども、FTPクライアント立ち上げてログインするのもかったるいしーーとかよく思うのでAppleScriptでドロップレットを作りました。

ファイルをドラッグ&ドロップすると、ダイアログが出てアップロード先のディレクトリを聞いてきます。


まるでクイズの様なダイアログ。

スクリプト中のユーザ名、パスワード、サーバ名、ディレクトリを書き換えて使います。ローカルのネットワークでしか試して無いので、会社とかでプロキシ噛んでると変になるかも知れません。

property user : "<ユーザ名>"
property passwd : "<パスワード>"
property serverRoot : "ftp://<サーバ名もしくはIPアドレス>"

on open drop
    tell application "Finder"
        activate
        
        set dirList to {"/", "/html", "/img"} --アップロード先のディレクトリを3つ設定
        
        set str to "1. " & 1st item of dirList & return & "2. " & 2nd item of dirList & return & "3. " & 3rd item of dirList
        display dialog serverRoot & return & return & "ディレクトリを選択" & return & str buttons {"1", "2", "3"} default button 2
        set num to button returned of result
        set destDir to serverRoot & item num of dirList
        
        if last character of destDir is not "/" then
            set destDir to destDir & "/"
        end if
        display dialog destDir & return & "にアップロードします"
        repeat with theFile in drop
            set fPath to quoted form of (POSIX path of theFile as Unicode text)
            set myScript to "curl -T " & fPath & " -u " & user & ":" & passwd & " " & destDir
            --display dialog myScript
            try
                set myResult to (do shell script myScript)
            on error
                display dialog "シェルスクリプトのエラーです" buttons {"終了"}
                error number -128
            end try
        end repeat
        set myResult to do shell script "curl -u " & user & ":" & passwd & " " & destDir
        beep
        display dialog myResult
    end tell
end open
関連記事
スポンサーサイト

コメント

非公開コメント

Profile
choco
Author : choco

印刷・製版の現場を経て、広告制作会社でPhotoshopを使ったビジュアル制作を担当。

→現在は車載機器開発ベンダにて、組み込み3Dデータ作成やUIデザインなどを行っています。

Categories
Favorites


Search
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。