2013-04-27 144 views
6

我對批處理有相當多的知識。我試圖將批處理腳本移植到Mac/UNIX上,但是我的批處理文件有一個拖放操作。通過無數的Google搜索,我一無所獲。他們都說,你可以拖放到終端窗口 - 不適合不需要輸入的腳本。下面是批處理代碼,我有:將文件拖放到.sh文件中

cd %USERPROFILE%

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

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

cd %USERPROFILE%\Desktop 命令rmdir/Q/S TEMP \

不是特別擔心7za命令(因爲歸檔實用程序), cd%USERPROFILE%(因爲終端在用戶的配置文件中啓動),rmdir,cd等等,因爲它們只是基本的文件命令。但是我不知道引用到.sh腳本丟棄/打開的文件的代碼。所以,如果有人知道這個代碼,請告訴我。我知道這是一種簡單的事情,但是你無法知道每一條命令,尤其是在處理不熟悉的編程語言時。提前致謝。

回答

10

我不知道如何讓原始腳本接受拖放文件,但是有許多選項可以將其包裝在其他可接受拖放操作的文件中,並將文件到腳本。 IMO最快的選擇是將腳本封裝在Automator應用程序中。運行/Applications/Automator.app,選擇應用程序作爲新項目的類型,將動作列表(第二列)中的「運行Shell腳本」動作拖入工作流程(右列),將其「傳遞輸入」設置爲「作爲參數「,粘貼到shell腳本中,然後保存該應用程序。完成。

包裝外殼腳本的其他選項包括:AppleScript,PlatypusDropScript

+0

我測試了直接拖放到.sh文件(在你回答之前),它似乎沒有工作。更何況,我將不得不在終端中自動打開.sh,而不是TextEdit,用戶必須事先這樣做。它可能會與.command文件一起使用嗎? – DaGamer12345 2013-04-28 18:00:26

+0

我還沒有找到辦法,但如果有一個我想知道它。 – 2013-04-28 18:10:42