我正在运行 Mac OS X El Capitan,但我不太清楚如何启动 .bat 扩展。以前我可以立即启动,但现在它要求我选择一个应用程序来打开它。我不知道该使用哪个。请帮忙。
编辑:它以前工作正常,即使扩展名为 .bat,也可以在命令中心打开。当我切换到 El Capitan 时,情况发生了变化
编辑2:
java -Xmx3G -Xms2G -jar Tekkit.jar noggin
pause
答案1
[更新时间:2016-05-18] 缺少 -jar 参数。感谢 @barlop 指出这一点。
[更新日期:2016-05-17] 消除歧义的编辑/改进。
请注意:您不要需要下载 WINE [编辑]仅[/编辑] 来运行批处理脚本。事实上,不要[编辑]尝试运行批处理,而是将其转换为系统的等效 shell 脚本[/编辑]。
正如所指出的,.bat 是由 Microsoft 的 CLI 运行的脚本。对于 Mac,我相信您需要类似以下内容的东西([编辑]我四处寻找,发现 Minecraft 是 Java,因此[/编辑]):
!# /bin/sh java -jar ~/库/应用程序支持/minecraft/bin/minecraft.jar # 请注意,以上路径基于互联网资源。另外,我 # 对 Java 不是很了解,但也许有人可以在需要的地方添加/编辑。
将其保存为 .sh 文件(如果需要,将其 chmod 为 ug+x)。然后将其放置在您希望快捷方式所在的任何位置(或者,如果您希望它在系统范围内可用,则放置在类似于 /usr/bin/ 的位置)。
显然,正如其他人所说的那样,如果没有看到批处理文件的内容,这里没有人可以给您提供精确的 sh 翻译。
答案2
.bat 文件是 Windows 原生的,而不是 Mac OS。
为了启动 .bat 文件,您需要使用 Mac 上启动 Windows 可执行文件的程序,例如 wine 等。
或者,找到您要启动的程序的 Mac 版本。它可能有自己的脚本,形式为 bash 或 ksh 文件。批处理 (.bat、.cmd) 文件也是脚本,但为 Windows 编写。)
答案3
以下是一些基本的 Unix 信息。没有提供太多“El Capitan”特定的细节,但它们应该不需要让事情正常运转。(我知道升级到“El Capitan”会破坏一些东西。也许它改变了你路径中的内容,或者改变了一些权限。以下是如何使事情正常运转的详细信息。
在 DOS 中,批处理文件是一个以“.BAT”(不区分大小写,因此“.bat”也可以)结尾的文本文件。Microsoft Windows 遵循 DOS 传统。批处理文件中的每一行都是从命令解释器运行的命令。
在 Unix 中(包括 Mac OS X),正确的“shell 脚本”文件应该具有正确的标头,并具有正确的权限。然后,在标头之后,批处理文件中的每一行都是要从命令解释器运行的命令。
请注意,这些描述大体相同。主要是,脚本文件的大部分内容只是要运行的命令列表。DOS 和 Unix 之间相同的命令(如“cd ..”或 PATH 中的可执行文件的名称)可能对这两种类型的文件同样有效。
如果你有一个 Unix 脚本文件,内容如下:
#!/bin/sh @Echo Off echo hello cd . more < readme.txt
那么该文件的第一行将在 DOS/Windows 中导致无害的错误,该文件的第二行将在 Unix 中导致无害的错误消息,并且该文件的其余部分可以在两种环境中相同地工作。
这是否真的对您有用,可能在很大程度上取决于您使用的命令。例如,“ cd bin
”可以在两种环境中很好地工作,但 DOS/Windows 使用反斜杠作为目录分隔符,而 Unix 使用正斜杠。因此某些命令可能不能很好地工作。
我们预测特定批处理文件运行效果的最好方法是知道批处理文件的内容。因此barlop 的评论询问批处理文件的内容。
关于您(从您的一条评论中)关于使用哪个扩展名的问题:在 DOS/Windows 中,答案是“.BAT”(任何数量的小写字母都可以,因此“.bat”也可以)。在 Unix 中,最常见的标准是“无”(无扩展名)或“ .sh
”。但是,在 Unix 中,扩展名实际上并不重要。重要的是文件是否具有必要的权限,以及是否以适当的标题开头。因此,请确保这些内容正确无误。(标题是我之前的示例中显示的第一行。可以使用“ chmod a+x filename.bat
”设置权限,但当然,请指定文件名的实际位置。)在 Unix 中运行文件时,请确保指定脚本文件的整个文件名,包括“.bat”扩展名。(如果您不喜欢这样做,只需创建一个符号链接,让名为“gonow”的符号链接指向“gonow.bat”(或任何适当的名称)。
在 Unix 中执行此操作的另一种方法是从另一个类似 DOS 的软件中运行 .BAT 文件。例如,Wine 中的 COMMAND.COM,或者 WINE 中的 CMD.EXE,或其他 Wine 变体(如 Crossover),或其他软件(如 DOSBox 或 DOSemu)。如果您这样做并使用设计为与 DOS 非常相似的软件,那么该软件可能能够运行该文件而无需您指定“.bat”扩展名。
另一种选择可能是简单地使用运行 Java 的 Shell 脚本文件(因为其他地方提到的批处理文件的内容显示 Java 正在运行),并忽略尝试使用以“.bat”扩展名结尾的文件。(因此它不是 .bat 文件,而是 shell 脚本或符号链接。)