2016-05-13 20 views

Antwort

1

Diese Shell ist Bash. Cygwin/MSYS2 Bash kann Windows-Pfade akzeptieren, aber Sie müssen mit Leerzeichen und umgekehrten Schrägstrichen umgehen. In Bezug auf Schrägstriche:

program 'C:\alfa.txt' 
program C:\\alfa.txt 
program C:/alfa.txt 

in Bezug auf Räume:

program 'C:\alfa bravo.txt' 
program C:\\alfa\ bravo.txt 
program C:/alfa\ bravo.txt 

Wie Sie sehen können, wenn Sie Windows-Pfade liefern, das ist ziemlich gerade nach vorn ist. Das einzige Problem, das Sie bekommen könnte, ist, wenn Sie versuchen Bash Pfade zu einem nativen Windows-Programm zu liefern:

program /tmp/alfa.txt 

native Windows-Programme haben keine Vorstellung von /tmp oder sogar /. Cygwin/MSYS2 haben cygpath bei der Umwandlung, diese Pfade zu unterstützen:

program $(cygpath -m /tmp/alfa.txt) 
program "$(cygpath -w /tmp/alfa.txt)" 
program "$(cygpath -m '/tmp/alfa bravo.txt')" 
program "$(cygpath -m /tmp/alfa\ bravo.txt)" 
program "$(cygpath -w '/tmp/alfa bravo.txt')" 
program "$(cygpath -w /tmp/alfa\ bravo.txt)" 

Randbemerkung: MinGW ein altes Projekt ist. Sie sollten Cygwin oder MSYS2 verwenden.

+0

Was passiert, wenn der Pfad, den ich übergeben möchte, Leerzeichen enthält? – Demi

+0

@Demetri siehe Update –