2013-04-27 100 views
6

バッチについてはかなりの知識があります。バッチスクリプトをMac/UNIXに移植しようとしていますが、私のバッチファイルにはドラッグアンドドロップしかありません。無数のGoogleの検索を通じて、私は何も思い付きませんでした。彼らは、ターミナルウィンドウにドラッグ&ドロップすることができ、入力が不要なスクリプトには適していないと言います。ファイルを.shファイルにドラッグアンドドロップする

ない(なぜならアーカイブユーティリティの)7zaコマンドについて特に心配\

cd %USERPROFILE%

7za x %* -o%USERPROFILE%\Desktop\Temp

7za a %1 %USERPROFILE%\Desktop\Temp*

cd %USERPROFILE%\Desktop するrmdir/Q/sの温度、:ここで私が持っているバッチのためのコードがありますcd%USERPROFILE%(ターミナルはユーザーのプロファイルで開始するため)、rmdir、cdなどは、基本的なファイルコマンドのみであるためです。しかし、私は、.shスクリプトでドロップ/オープンされたファイルを参照するコードがわかりません。だから、誰かがそのコードを知っているなら、教えてください。私はこれがちょっとしたことだと分かっていますが、特に馴染みのないプログラミング言語を扱うときは、すべてのコマンドを知ることができません。前もって感謝します。

答えて

10

ドラッグ&ドロップされたファイルを受け入れる方法はわかりませんが、ドラッグアンドドロップを受け入れるものにラップしてファイルを渡すためのいくつかのオプションがありますスクリプトにIMOは、スクリプトをAutomatorアプリケーションでラップするのが最も簡単な方法です。 /Applications/Automator.appを実行し、新しいプロジェクトのタイプとしてApplicationを選択し、アクションリスト(2番目の列)からワークフロー(右側の列)に「Run Shell Script」アクションをドラッグし、引数として "、シェルスクリプトに貼り付け、アプリを保存します。完了しました。

シェルスクリプトをラップするためのその他のオプションは、AppleScript,Platypus、およびDropScriptです。

+0

私は、(これに答える前に).shファイルにドラッグアンドドロップを直接テストしましたが、うまくいかなかったようです。もちろん、TextEditの代わりに.shをTerminalに自動的にオープンさせる必要があります。これはユーザーが事前に行う必要があります。代わりに.commandファイルで動作する可能性はありますか? – DaGamer12345

+0

私は方法を見つけられませんでしたが、もしあれば私はそれについて知りたいです。 –

関連する問題