Shell脚本获取文件的文件名,拖动到脚本

时间:2018-12-21 11:31:36

标签: macos shell batch-file

我一直在努力解决这个问题大约4个小时。

我创建了一个Windows .bat文件,通过将文件拖到该文件上,可以将其复制到目录中,然后打开复制的文件。

我正在尝试在Mac OS X上执行通常的操作,但不幸的是,它不起作用。

我创建了一个转换为.app的脚本,打开后会打开Firefox浏览器。一切正常。

当我转到一个简单的.xml文件时,会发生问题,我说要用创建的.app打开它,或者只是将文件拖到应用程序上。 当然会打开浏览器,但是我需要打开firefox,打开的URL是拖动文件的路径。

我已经尝试了所有可能的$ 0 $ 1等,但是我的脚本脚本路径位于.app归档文件内,而不是文件路径拖到应用程序上。

WINDOWS

@echo off
Title TEST
Mode con cols=90 lines=5

COPY /D "%~1" "C:\PA\" 

IF [%1] EQU [] Goto:Error
CD /D "%~1">nul 2>&1 && Goto:Explorer_Folder || Goto :OpenFile
Exit /b


:OpenFile <File>
Start "Drag and Drop" "firefox.exe" "C:\PA\%~nx1"
Exit /b


:Explorer_Folder <Folder>
Explorer "%~1"
Exit /b


:Error
Color 0F & echo(
ECHO error
Timeout /T 5 /NoBreak >nul
Exit /b

OS X

#!/bin/bash
BASEDIR=$(dirname "$0")
open -a Firefox $BASEDIR

这将打开Firefox,但使用我的.app目录打开它

感谢所有人

1 个答案:

答案 0 :(得分:0)

对于OS X版本,您尝试过吗? (它应该使用Firefox打开您的参数文件)

ReallyBadException