Wie man einen Windows-Pfad mit Leerzeichen zur cygwin-bash übergibt

2164
doc

Ich verbinde mich mit einem Windows-Server (2012R2 64 Bit), auf dem Cygwin (letzte Version, die ich gestern von Cygwin.com heruntergeladen habe) mit Putty ausgeführt wird.

Ich versuche, cmd.exe auszuführen und cmd.exe einen Befehl zu übergeben, der sich in "Program Files (x86)" befindet.

Ich versuche, Folgendes auszuführen: cmd.exe / C "c: \ program files (x86) \ ibm \ rationalsdlc \ clearcase \ bin \ cleartool.exe"

und ich bekomme: 'c: \ program' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batch-Datei erkannt.

Ich habe es mit "\" und mit "\" ausprobiert und die gleiche Meldung erhalten.

Wenn ich die Klammern (") wie folgt verdoppelte: cmd.exe / C" "c: \ Programme (x86) \ ibm \ rationalsdlc \ clearcase \ bin \ cleartool.exe" "

Ich habe -bash: Syntaxfehler in der Nähe von unerwartetem Token `('

Wenn ich versuchte, eine andere Zeichenfolge ohne Leerzeichen im Pfad zu übergeben, zum Beispiel: cmd.exe / C "ccperl C: \ utils \ find-locked-vobs.pl", funktioniert es OK und das Perl-Skript läuft OK.

Wie gebe ich einen Befehl, wenn der Pass Leerzeichen enthält?

Vielen Dank, David

0
warum brauchst du cmd, um es auszuführen? matzeri vor 7 Jahren 0
Auf diese Weise wird der Client implementiert doc vor 7 Jahren 0

1 Antwort auf die Frage

0
matzeri

Wenn Sie bash ausführen und den vollständigen Windows-Pfad an cmd übergeben möchten, sollten Sie einen einfachen Apostroph verwenden und nicht doppelt

cmd /c 'C:\Program Files (x86)\Adobe\Reader 10.0\Reader\acrord32.exe'

funktioniert gut für mich.