Ausführen der .bat-Datei in zsh (unter Windows)

3

Auf einem Windows-Computer möchte ich die Verwendung cmd.exeum jeden Preis vermeiden . Ich versuche Babun (Mintty 1.1.3) zu verwenden, um eine Batch-Datei in einem Windows-Ordner auszuführen.

Das funktioniert:

{ ~ } » ./file.bat -o /path/to/files.xml

Ich würde jedoch gerne etwas machen wie:

{ ~ } » cd /path/to/  
{ ~ } » ./"c:\Program Files\App\file.bat" -o files.xml

Ich bekomme jedoch nur zsh: no such file or directory:

Ich habe versucht sh, cmd /cund einige andere Befehle, die ich gefunden habe, ohne Erfolg. Ich habe auch versucht, ein Linux-freundlicheres Pfadformat zu verwenden, dhc:/Program\ Files/App/file.bat

Ich werde für jede Hilfe dabei dankbar sein.

msoutopico
quelle
Sind Sie sicher, dass die UAC-Virtualisierung Ihnen und der Datei an anderer Stelle keinen Streich spielt? Weil die Antwort von Linostar definitiv funktioniert.
Daniel B
Vielen Dank. Nein, ich bin mir nicht sicher. Wie kann ich das überprüfen?
msoutopico

Antworten:

5

Haben Sie versucht, den Schrägstrich ./am Anfang des Pfads zu entfernen ? A .bedeutet das aktuelle Verzeichnis, und es macht normalerweise keinen Sinn, es vor einen absoluten Pfad zu setzen, wie den, den Sie verwenden.

Versuchen:

{ ~ } » "c:\Program Files\App\file.bat" -o files.xml

oder

{ ~ } » "c:/Program Files/App/file.bat" -o files.xml

AKTUALISIEREN:

oder versuchen Sie es mit: "/cygdrive/c/Program Files/App/file.bat" -o files.xml

Linostar
quelle
Danke, Linostar. Ja, das ist das erste, was ich versucht habe. Das Ergebnis ist die Meldung "zsh: Befehl nicht gefunden: C: \ Programme \ App \ file.bat" (für Ihren früheren Vorschlag) oder "Das System kann den angegebenen Pfad nicht finden" (für den letzteren).
msoutopico
Was ist die Ausgabe des Befehls pwd in Ihrem zsh? Das gibt eine gute Vorstellung davon, wie Ihre absoluten Pfade geschrieben werden sollten.
Linostar,
Da es sich im Grunde genommen um Cygwin für Steroide handelt, kann es hauptsächlich mit Windows-Pfaden arbeiten. "G:/test.bat"funktioniert für mich, einschließlich eines korrekt eingestellten Arbeitsverzeichnisses und so weiter.
Daniel B.,
Danke, @Linostar: Die Ausgabe von pwd ist /cygdrive/c/Users/Manuel/SkyDrive/path/to/files.xml.
Msoutopico
Ich habe versucht, ein einfacheres test.bat(ohne -o Argumente) zu setzen, das gerade Hello Worldin den gleichen Ordner druckt, in dem file.batist, und das arbeitet. So seltsam.
Msoutopico