Ich möchte Cygwin für meine Haupt-Shell bei der Arbeit verwenden, aber meine Gruppe verwendet Batch-Dateien für mehrere Prozesse. Mir wurde gesagt, dass ich nur cmd /c batch.bat
die Batch-Datei von Cygwin ausführen kann . Dies funktioniert in einigen Fällen und nicht in anderen. Eine der Stapeldateien schlägt dabei vollständig fehl, funktioniert jedoch einwandfrei, wenn ich sie über die Cmd-Shell ausführe.
Eine weitere Kuriosität, die mir aufgefallen ist, ist, dass cmd /?
ich keine Ausgabe bekomme , wenn ich von Cygwin aus laufe . Wenn Sie dies über die Cmd-Shell ausführen, erhalten Sie die Standardhilfe. Sogar das Tun cmd /c cmd /?
liefert keine Ausgabe. Wenn ich cmd
von Cygwin aus starte, cmd /?
erhalte ich die Cmd-Shell. Wenn ich dann starte, erhalte ich den Hilfetext , jedoch ohne Seitenumbrüche.
Ich denke, das nächste, was Sie versuchen müssen, ist, einen Weg zu finden, um cmd tatsächlich in einem eigenen Fenster zu starten, als ob Sie zu Start-> Ausführen gegangen wären und dann "cmd" eingegeben hätten. Gibt es eine Möglichkeit, dies aus Cygwin heraus zu tun?
quelle
Sie können eine Batch-Datei direkt von einer Cygwin-Shell ausführen, Sie brauchen nicht einmal den Zwischenaufruf, um
cmd
. Wenn für die Batchdatei Argumente erforderlich sind, müssen diese in Windows-Anführungszeichen gesetzt werden. es könnte einfacher sein zu laufencmd /c 'foo.bat "quoted arguments"'
.Sie sagen nicht, in welchem Terminal Sie die Shell ausführen. Batch-Dateien an sich kümmern sich nicht darum, aber die Befehle, die von den Batch-Dateien ausgeführt werden, könnten. Cygwin-Terminalemulatoren emulieren keine Windows-Konsolen, daher eignen sie sich für Cygwin-Programme und nur für STDIO-Programme, nicht jedoch für Windows-Konsolenprogramme.
Wenn Cygwin-Shells normalerweise in einem Cygwin-Terminal ausgeführt werden (z. B. rxvt oder mintty), können Sie die Batch-Dateien für Probleme in einer separaten Windows-Konsole mit ausführen
start foo.bat
. Möglicherweise möchten Sie Console2 als besseren Ersatz für die Windows-Konsole ausführen und Windows-Konsolenanwendungen in Console2 und Cygwin-Anwendungen in einem Cygwin-Terminal (oder sogar in Console2) ausführen.cmd /?
ist ein roter Hering: Das Cygwin-Stammverzeichnis enthält vermutlich ein Zeichen lange Verzeichnisse, daher wird die Shell erweitert/?
undcmd
mit Switches ausgeführt, die zufällig keine Ausgabe produzieren.quelle