So starten Sie eine .bat


0

Ich verwende Mac OS X El Capitan und weiß nicht mehr genau, wie ich eine .bat-Erweiterung starten soll. Früher konnte ich es einfach sofort tun, aber jetzt werde ich aufgefordert, eine Anwendung zum Öffnen auszuwählen. Ich weiß nicht, was ich verwenden soll. Bitte helfen Sie.

Bearbeiten: Früher funktionierte es einwandfrei und wurde in der Kommandozentrale geöffnet, obwohl es die Erweiterung .bat hat. Es hat sich geändert, als ich zu El Capitan gewechselt bin

2 bearbeiten:

java -Xmx3G -Xms2G -jar Tekkit.jar noggin
pause

Vielleicht gibt es einen Konverter, aber Sie sollten ein bisschen darüber
nachdenken,

Es ist nur ein Launcher für einen Minecraft-Tekkit-Server, den ich die ganze Zeit gespielt habe. Ich habe es mit textedit erstellt und es hat funktioniert
Greg

Ich bin nicht mit Mindcraft vertraut. Aber sind Sie sich bewusst, dass Macs, da sie OSX ausführen, keine Windows-Batch-Dateien ausführen, ihre eigene BSD-basierte Shell haben, die Sprachen wie bash oder ksh und nicht batch enthält. Abgesehen von der Batch-Datei, die ausführbare Minecraft-Server-Datei, die unter Windows ausgeführt wird, läuft nicht unter Mac. Sie benötigen eine ausführbare Minecraft-Server-Datei, die für Mac kompiliert wurde (oder etwas auf dem Mac, das eine Windows-Maschine simulieren kann, und die minecraft server)
barlop

Das ist die Sache aber, es hat funktioniert und in der Kommandozentrale geöffnet, obwohl es eine .bat-Erweiterung hat. Es änderte sich, als ich
Greg

Sie sollten den Punkt hinzufügen, den Sie gerade in Ihre Frage gestellt haben
barlop

Antworten:


1

[aktualisiert: 2016-05-18] Der Parameter -jar fehlt. Tks für den Hinweis auf @barlop.

[aktualisiert: 2016-05-17] Änderungen / Verbesserungen der Begriffsklärung.

Bitte beachten Sie: Sie müssen WINE nicht herunterladen [edit], sondern nur [/ edit], um ein Batch-Skript auszuführen. Versuchen Sie nicht, Batch auszuführen, sondern konvertieren Sie es in das entsprechende Shell-Skript für Ihr System.

Wie bereits erwähnt, handelt es sich bei .bat um ein Skript, das von der Microsoft-CLI ausgeführt wird. Ich glaube, du brauchst für Mac etwas in dieser Richtung ([Bearbeiten] Ich habe mich umgesehen und festgestellt, dass Minecraft Java ist und so [/ Bearbeiten]):

! # / bin / sh
java -jar ~ / Bibliothek / Anwendungsunterstützung / minecraft / bin / minecraft.jar

# Bitte beachten Sie, dass der oben angegebene Pfad auf Internetquellen basiert. Ich auch
# nicht sehr gut mit Java vertraut, aber vielleicht kann jemand hinzufügen / bearbeiten, wo es nötig ist.

Speichern Sie es als .sh-Datei (und ändern Sie es bei Bedarf in ug + x). Platzieren Sie es dann an einer beliebigen Stelle, an der Sie die Verknüpfung verwenden möchten (oder in einer ähnlichen Datei wie / usr / bin /, wenn Sie möchten, dass sie systemweit verfügbar ist).

Wie andere bereits gesagt haben, kann Ihnen hier niemand eine genaue Übersetzung geben, ohne den Inhalt der Batch-Datei zu sehen.


-1 Dein erster Satz ist sehr, sehr irreführend. Es lässt fast vermuten, dass es neben WINE noch eine andere Möglichkeit gibt, ein Stapelskript auszuführen (vielleicht gibt es das, vielleicht gibt es das nicht). Das ist außergewöhnlich irreführend, auch wenn er behauptet, es in seiner vorherigen Version ausführen zu können. Was Sie ihm sagen wollen, ist, dass er nicht versuchen sollte, das Batch-Skript auszuführen. Sie sollten ihm sagen, dass Sie denken, er sollte nicht versuchen, das Batch-Skript auszuführen. Und Sie sagen ihm nicht viel, Sie sagen ihm nur, wie er ein Programm in einem * nix-basierten Betriebssystem starten soll.
Barlop

Außerdem fügst du nichts hinzu, was im Kommentar nicht erwähnt wurde.
Barlop

@barlop: Ja, ich habe es ein wenig unvollkommen formuliert und jetzt habe ich es so bearbeitet, dass es genau so viel widerspiegelt. Zum Thema der schlechten Formulierung und um nicht unhöflich zu sein, haben Sie sich in Ihrer ersten Bemerkung nur krass widersprochen, indem Sie Ihre Interpretation meiner Antwort als "irreführend" bezeichnet haben. Sie sagen: "Es ist beinahe anzunehmen, dass es neben WINE noch eine andere Möglichkeit gibt, ein Stapelskript auszuführen (vielleicht gibt es das, vielleicht gibt es das nicht)" - ein Widerspruch. Ungeachtet der Tatsache, dass OP behauptete, er könne es zuvor so klar ausführen, dass ein Dolmetscher in seiner alten Konfiguration vorhanden war.
Nonzyro

In Bezug auf Ihren Kommentar, dass ich nichts hinzugefügt habe, was vorher nicht erwähnt wurde, würde ich behaupten, dass ich eine Shell-Skript-Vorlage hinzugefügt habe, die zum Zeitpunkt des Schreibens mehr war als alle anderen bisher. Meine Antwort, IMVHO war ein viel besserer Vorschlag als das Herunterladen von WINE ,
nonzyro

Sie haben eine sogenannte "Shell-Skript-Vorlage" hinzugefügt, in der nur beschrieben wird, wie ein * nix-Programm in * nix ausgeführt wird. A) Dies ist eine separate Frage zum Starten einer Fledermaus in * nix und B) Wie ein * nix-programm in * nix auszuführen ist so einfach und so leicht zu verstehen, dass ich es nicht einmal als zusatz gewertet hätte. Und im Allgemeinen ist eine Antwort, die Sie nicht machen, keine richtige Antwort, sondern eher ein Kommentar, und wenn der Inhalt so einfach und leicht zu finden ist, ist er von sehr geringem Wert. Zumindest zum Download beantwortet WINE direkt die Frage.
Barlop

0

.bat-Dateien stammen ursprünglich aus Windows und nicht aus Mac OS.

Um eine .bat-Datei zu starten, müssen Sie auf dem Mac etwas verwenden, mit dem ausführbare Windows-Dateien wie Wine usw. gestartet werden.

Alternativ finden Sie eine Mac-Version des Programms, das Sie starten. Es hat wahrscheinlich eine eigene Art von Scripting in Form einer Bash- oder Ksh-Datei. Batch-Dateien (.bat, .cmd) sind ebenfalls Skripte, wurden jedoch für Windows geschrieben.)


und ich würde zum letzten Satz hinzufügen, dass es normal wäre, ein Skript für ein * nix-basiertes Betriebssystem zu verwenden, z. B. bash / ksh,
barlop

Welche Nebenstelle soll ich verwenden?
Greg

@ Greg Sie können Ihrer Frage weitere Informationen hinzufügen, z. B. den Inhalt der Bat-Datei anzeigen, von der Sie sagen, dass sie funktioniert hat, sowie den Ort, an dem Sie sie erhalten haben.
Barlop

@barlop hinzugefügt. tnx.
LPChip

0

Hier einige grundlegende Informationen zu Unix. Es werden nicht viele "El Capitan" -spezifische Details bereitgestellt, aber sie sollten nicht benötigt werden, um die Dinge zum Laufen zu bringen. (Ich verstehe, dass ein Upgrade auf "El Capitan" die Dinge kaputt gemacht hat. Vielleicht hat es das geändert, was sich in Ihrem Pfad befindet, oder es hat einige Berechtigungen geändert. Nachfolgend finden Sie Details dazu, wie Sie Dinge zum Laufen bringen.

In DOS ist eine Batch-Datei eine Textdatei, die mit ".BAT" endet (ohne Berücksichtigung der Groß- und Kleinschreibung, daher würde ".bat" auch funktionieren). Microsoft Windows folgt der DOS-Tradition. Jede Zeile in der Batch-Datei ist ein Befehl, der vom Befehlsinterpreter ausgeführt wird.

Unter Unix, einschließlich Mac OS X, sollte eine ordnungsgemäße "Shell-Skript" -Datei einen ordnungsgemäßen Header und ordnungsgemäße Berechtigungen haben. Nach dem Header ist dann jede Zeile in der Batch-Datei ein Befehl, der vom Befehlsinterpreter ausgeführt werden soll.

Beachten Sie, dass diese Beschreibungen größtenteils gleich sind. Hauptsächlich ist der größte Teil der Skriptdatei nur eine Liste der auszuführenden Befehle. Befehle, die zwischen DOS und Unix gleich sind, wie "cd .." oder die Namen der ausführbaren Dateien innerhalb des PFADS, funktionieren möglicherweise mit beiden Dateitypen gleich gut.

Wenn Sie eine Unix-Skriptdatei hatten, die besagte:
#!/bin/sh @Echo Off echo hello cd . more < readme.txt

Dann würde die erste Zeile der Datei unter DOS / Windows einen harmlosen Fehler verursachen, die zweite Zeile der Datei würde unter Unix eine harmlose Fehlermeldung verursachen, und der Rest der Datei könnte in beiden Umgebungen identisch funktionieren.

Ob dies tatsächlich für Sie funktioniert oder nicht, hängt möglicherweise stark von den von Ihnen verwendeten Befehlen ab. Beispielsweise kann " cd bin" mit beiden Umgebungen gut gearbeitet werden, aber DOS / Windows verwendet einen Backslash als Verzeichnistrennzeichen, während Unix einen Schrägstrich verwendet. Daher funktionieren einige Befehle möglicherweise nicht richtig.

Wir können am besten vorhersagen, wie gut Ihre bestimmte Stapeldatei funktionieren würde oder nicht, wenn wir den Inhalt der Stapeldatei kennen. Daher fragte Barlops Kommentar nach dem Inhalt der Batch-Datei.

Zu Ihrer Frage (aus einem Ihrer Kommentare), welche Erweiterung verwendet werden soll: Unter DOS / Windows lautet die Antwort ".BAT" (Kleinbuchstaben sind in Ordnung, daher ist ".bat" auch in Ordnung.) Die gebräuchlichsten Standards sind "none" (keine Erweiterung) oder " .sh". In Unix spielt die Erweiterung jedoch keine große Rolle. Entscheidend ist, ob die Datei über die erforderlichen Berechtigungen verfügt und möglicherweise mit dem entsprechenden Header beginnt. Stellen Sie also sicher, dass diese Dinge richtig sind. (Die Kopfzeile ist die erste Zeile in meinem vorherigen Beispiel. Die Berechtigungen können mit "chmod a+x filename.batmsgstr "" "aber natürlich den tatsächlichen Speicherort des Dateinamens angeben.) Wenn Sie die Datei unter Unix ausführen, stellen Sie sicher, dass Sie den gesamten Dateinamen der Skriptdatei einschließlich der Erweiterung" .bat "angeben. (Wenn Sie nicht möchten Dazu erstellen Sie einfach einen Symlink, wobei ein Symlink mit dem Namen "gonow" auf "gonow.bat" zeigt (oder was auch immer angemessen ist).

Die andere Möglichkeit, dies unter Unix zu tun, besteht darin, die .BAT-Datei in einer anderen DOS-ähnlichen Software auszuführen. zB COMMAND.COM in Wine oder CMD.EXE in WINE oder andere Wine-Varianten wie Crossover oder andere Software wie DOSBox oder DOSemu. Wenn Sie diese Software verwenden, die so konzipiert ist, dass sie wie DOS funktioniert, kann diese Software die Datei möglicherweise ausführen, ohne dass Sie die Erweiterung ".bat" angeben müssen.

Eine andere Alternative kann darin bestehen, einfach eine Shell-Skriptdatei zu verwenden, in der Java ausgeführt wird (da der Inhalt der Batch-Datei, die an anderer Stelle erwähnt wird, die Ausführung von Java anzeigt), und den Versuch zu ignorieren, eine Datei zu verwenden, die mit der Erweiterung ".bat" endet. (Es wäre also keine .bat-Datei, sondern ein Shell-Skript oder ein symbolischer Link.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.