Cygwin の PATH 文字列と Windows の PATH 文字列の相互変換

答えを先に書くと、cygpath コマンドを使います。

Cygwin の形式(/cygdrive/c/... )→ Windows 形式(C:\... )

$ cygpath -w /cygdrive/c
C:\

Windows 形式 → Cygwin 形式

$ cygpath C:\\
/cygdrive/c


Cygwin から Windows のプログラムを起動しようとする場合、そのようなプログラムは Windows 式のパスしか受け付けない可能性が高いので、このように変換してやる必要があります。
逆に Windows 用のプログラムがファイルに書いたパスなどを読み取って Cygwin 側で処理したい場合もこのように変換する必要がありますね。


cygpath コマンドは、ルールに則って文字列を変換するだけのようなので、実在していないパスでも変換してくれるようです。

cygpath -w /a/b/c
C:\CygWin\a\b\c