2013-04-27 14 views
6

Ho una buona conoscenza con Batch. Sto cercando di trasferire uno script batch su Mac/UNIX, ma il mio file batch ha una funzione di trascinamento della selezione. Attraverso innumerevoli ricerche su Google, non ho trovato nulla. Dicono tutti che è possibile trascinare e rilasciare in una finestra del terminale, non adatta agli script richiesti senza input. Ecco il codice per Batch ho:Trascinare e rilasciare un file su un file .sh

cd %USERPROFILE%

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

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

cd %USERPROFILE%\Desktop rmdir/q/s Temp \

Non

particolarmente preoccupata per i comandi 7za (a causa di Archive Utility), cd% USERPROFILE% (poiché Terminal si avvia nel profilo dell'utente), rmdir, cd e così via, in quanto sono solo comandi di base dei file. Ma non conosco il codice per fare riferimento al file rilasciato/aperto con lo script .sh. Quindi, se qualcuno conosce quel codice, per favore dimmelo. So che si tratta di una cosa semplice, ma non è possibile conoscere ogni comando, specialmente quando si ha a che fare con linguaggi di programmazione non familiari. Grazie in anticipo.

risposta

10

Non so come far sì che lo script raw accetti i file drag-and-drop, ma ci sono un certo numero di opzioni per avvolgerlo in qualcos'altro che accetta il drag-and-drop e passa i file a una sceneggiatura. IMO l'opzione più rapida è quella di avvolgere lo script in un'applicazione di Automator. Esegui /Applications/Automator.app, seleziona Applicazione come tipo per il tuo nuovo progetto, trascina l'azione "Esegui Shell Script" dall'elenco delle azioni (seconda colonna) nel flusso di lavoro (colonna a destra), imposta "Pass input" a " come argomenti ", incolla lo script della shell, quindi salva l'app. Fatto.

Altre opzioni per il wrapping di uno script di shell includono: AppleScript, Platypus e DropScript.

+0

Ho provato a trascinare e rilasciare direttamente su un file .sh (prima che tu rispondessi a questo), e non sembrava funzionare. Per non parlare del fatto che avrei dovuto aprire la .sh automaticamente in Terminal invece che in TextEdit, che l'utente avrebbe dovuto fare prima. È possibile che funzioni invece con i file .command? – DaGamer12345

+0

Non ho trovato il modo di farlo, ma se ce n'è uno mi piacerebbe saperlo. –

Problemi correlati