Como iniciar um .bat

0

Estou executando o Mac OS X El Capitan e não sei mais como iniciar uma extensão .bat. Eu costumava ser capaz de fazer isso imediatamente, mas agora ele me pede para selecionar um aplicativo para abri-lo. Eu não sei qual usar. Por favor ajude.

edit: costumava funcionar muito bem e abrir no centro de comando, embora tenha uma extensão .bat. Mudou quando mudei para El Capitan

edição 2:

java -Xmx3G -Xms2G -jar Tekkit.jar noggin
pause
    
por Greg 16.05.2016 / 00:36

3 respostas

1

[atualizado em 2016-05-18] Faltando o parâmetro -jar. Tks por apontar isso @barlop.

[atualizado em: 2016-05-17] Edições / melhorias de desambiguação.

Por favor note: você não precisa baixar o WINE [editar] apenas [/ edit] para executar um script em lote. De fato, não [tente] executar o batch, em vez disso converta-o para o script de shell equivalente para o seu sistema [/ edit].

Como apontado, o .bat é um script executado pela CLI da Microsoft. Para o Mac, acredito que você precisa de algo ao longo destas linhas ([editar] eu pesquisei e descobri que o Minecraft é Java e, portanto, [/ edit]):

!# /bin/sh
java -jar ~/Library/Application Support/minecraft/bin/minecraft.jar

# Please note the above path is based on internet sources. Also, I'm
# not very Java knowledgeable but maybe someone can add/edit where needed.

Salve como um arquivo .sh (e, se necessário, chmod para ug + x). Em seguida, coloque-o onde quiser que o atalho vá (ou em algo parecido com / usr / bin / se você quiser disponível em todo o sistema).

Obviamente, como outros já disseram, sem ver o conteúdo do arquivo de lote, ninguém aqui pode lhe dar uma tradução precisa.

    
por 16.05.2016 / 14:14
0
Os arquivos

.bat são nativos do Windows, não do Mac OS.

Para lançar um arquivo .bat, você precisará usar algo no mac que lance executáveis do Windows, como vinho, etc.

Alternativamente, encontre uma versão para mac do programa que você está lançando. É provável que tenha seu próprio tipo de script na forma de um arquivo bash ou ksh. Arquivos em lote (.bat, .cmd) também são scripts, mas são escritos para windows.

    
por 16.05.2016 / 00:42
0

Aqui estão algumas informações básicas do Unix. Não são fornecidos muitos detalhes específicos de "El Capitan", mas não devem ser necessários para que as coisas funcionem. (Eu entendo que uma atualização para "El Capitan" quebrou as coisas. Talvez tenha mudado o que está no seu caminho, ou alterou algumas permissões. A seguir estão os detalhes sobre como fazer as coisas funcionarem.

No DOS, um arquivo de lote é um arquivo de texto que termina com ".BAT" (sem distinção entre maiúsculas e minúsculas, portanto, ".bat" também funciona). O Microsoft Windows segue a tradição do DOS. Cada linha no arquivo de lote é um comando a ser executado a partir do interpretador de comandos.

No Unix, incluindo o Mac OS X, um arquivo "shell script" apropriado deve ter um cabeçalho adequado e ter as permissões adequadas. Então, após o cabeçalho, cada linha no arquivo de lote é um comando a ser executado a partir do interpretador de comandos.

Observe que essas descrições são basicamente as mesmas. Principalmente, a maior parte do arquivo de script é apenas uma lista de comandos a serem executados. Comandos que são os mesmos entre DOS e Unix, como "cd ..", ou os nomes de arquivos executáveis dentro do PATH, podem funcionar igualmente bem com ambos os tipos de arquivos.

Se você tivesse um arquivo de script Unix que dizia: #!/bin/sh @Echo Off echo hello cd . more < readme.txt

Em seguida, a primeira linha do arquivo causaria um erro inofensivo no DOS / Windows, a segunda linha do arquivo causaria uma mensagem de erro harmelss no Unix, e o restante do arquivo poderia funcionar de forma idêntica nos dois ambientes.

Se isso realmente funciona bem para você, ou não, pode depender muito dos comandos que você usa. Por exemplo, " cd bin " pode funcionar bem com ambos os ambientes, mas o DOS / Windows usa uma barra invertida como separador de diretório enquanto o Unix usa uma barra invertida. Então, alguns comandos podem não funcionar bem.

A melhor maneira de prever o quão bem o seu arquivo em lote específico funcionaria bem ou não seria se soubéssemos o conteúdo do arquivo em lote. Daí porque comentário do barlop perguntado sobre o conteúdo do arquivo de lote. / p>

Em relação à sua pergunta (de um dos seus comentários) em qual extensão usar: No DOS / Windows, a resposta é ".BAT" (qualquer quantidade de letras minúsculas é boa, então ".bat" também está bom). Unix, os padrões mais comuns são "nenhum" (sem extensão) ou " .sh ". No entanto, no Unix, a extensão realmente não importa significativamente. O que importa é se o arquivo tem as permissões necessárias e, possivelmente, se inicia com o cabeçalho apropriado. Portanto, verifique se essas coisas estão certas. (O cabeçalho é a primeira linha mostrada no meu exemplo anterior. As permissões podem ser definidas usando " chmod a+x filename.bat " mas, é claro, especifique o local real do nome do arquivo.) Quando você executa o arquivo no Unix, certifique-se de especificar o nome do arquivo inteiro do arquivo de script, incluindo a extensão ".bat". (Se você não gosta de fazer isso, simplesmente crie um link simbólico, tendo um link simbólico chamado "gonow" para "gonow.bat" (ou o que for apropriado).

A outra maneira de fazer isso no Unix é executar o arquivo .BAT dentro de outro software que é semelhante ao DOS. por exemplo, COMMAND.COM dentro do Wine, ou talvez o CMD.EXE dentro do WINE, ou outras variantes do Wine como o Crossover, ou outro software como DOSBox ou DOSemu. Se você fizer isso, use este software projetado para funcionar como o DOS e, em seguida, esse software poderá executar o arquivo sem exigir que você especifique a extensão ".bat".

Outra alternativa pode ser simplesmente usar um arquivo Shell Script que execute Java (desde o conteúdo do arquivo em lote, mencionado em outra parte, mostrar Java sendo executado) e ignorar a tentativa de usar um arquivo que termine com o ".bat" extensão. (Portanto, não seria um arquivo .bat, mas seria um script de shell ou um link simbólico).

    
por 17.05.2016 / 02:09

Tags