2016-10-09 2 views
1

cygpathは、アクセント付きのパスを正しく処理していないようです。私が期待するのに対しパスとアクセント(àèìòù)

C:\cygwin64\bin>cygpath --absolute -C UTF8 "C:\foo\àòè\foo2" 

プリント

/usr/bin/"C:/foo/àòè/foo2" 

C:\cygwin64\bin>cygpath --absolute -C UTF8 "C:\foo\aoe\foo2" 
/cygdrive/c/foo/aoe/foo2 

私が何か間違ったことをしています:アクセントなし

/cygdrive/c/foo/àòè/foo2 

同じパスが期待される結果が得られますか?

------ EDIT 1

私は限り私が見る、エイドリアンの答えの後、私はと思うのWin 10

C:\cygwin64\bin>cygpath --version 
cygpath (cygwin) 2.6.0 
Path Conversion Utility 
Copyright (C) 1998 - 2016 Cygwin Authors 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

C:\cygwin64\bin>locale 
LANG= 
LC_CTYPE="C.UTF-8" 
LC_NUMERIC="C.UTF-8" 
LC_TIME="C.UTF-8" 
LC_COLLATE="C.UTF-8" 
LC_MONETARY="C.UTF-8" 
LC_MESSAGES="C.UTF-8" 
LC_ALL= 

にCYGPATH 2.6.0を使用しています問題はCygwinのbashを実行せずにcygpathを使用しようとしていることです。なぜなら、私は問題がないからです。

$ cygpath --absolute -C UTF8 "C:\foo\àèò\foo2" 
/cygdrive/c/foo/àèò/foo2 

しかし、私はbashなしで直接cygpathを使用する必要があります、あなたは方法があると思いますか?

+0

Windows 10のWindowsターミナル( 'cmd.exe')に直接' mintty'/'bash'を置かないと、期待通りに動作します。 –

+0

cygwin 32bitとcmd.exeをインストールしただけで同じ問題が発生しました。私はちょうどpowershellで試して、それは動作します。私は本当に何が考えられるのか分からない。 – Polletto

+0

今すぐ確認できます。更新された回答をご覧ください。 –

答えて

0

Cygwin/cygpathのバージョンは実行しますか?

$ cygpath --absolute -C UTF8 "C:\foo\àòè\foo2" 
/cygdrive/c/foo/àòè/foo2 

$ cygpath --version 
cygpath (cygwin) 1.7.35 
Path Conversion Utility 
Copyright (C) 1998 - 2015 Red Hat, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

$ locale 
LANG=en_US.UTF-8 
LC_CTYPE="en_US.UTF-8" 
LC_NUMERIC="en_US.UTF-8" 
LC_TIME="en_US.UTF-8" 
LC_COLLATE="en_US.UTF-8" 
LC_MONETARY="en_US.UTF-8" 
LC_MESSAGES="en_US.UTF-8" 
LC_ALL=en_US.UTF-8 

EDIT

作品:mintty.exe(Cygwinの)中

  • cygpath-1.7.35cmd.exeとPowerShellの私は、これを複製することはできません。
  • cygpath-2.6.0mintty.exe(Cygwin)およびPowershell。

は動作しません:cmd.exe

  • cygpath-2.6.0をこれは引用に関連すると思わや回避策があります。引用符なしでパスを指定すると、正しい結果が得られます

    c:\cygwin\bin>cygpath --absolute -C UTF8 'C:\foo\àèò\foo2' 
    /cygdrive/c/cygwin/bin/'C:/foo/àèò/foo2' 
    
    c:\cygwin\bin>cygpath --absolute -C UTF8 C:\foo\àèò\foo2 
    /cygdrive/c/foo/àèò/foo2 
    

    私はよく分からないのであれば/ Cygwin開発者がCygwin -shell外Cygwinアプリケーションを実行しているが、サポートどのように私はそれはバグだと言うだろう前に、これは働いていたことから、メーリングリストに投稿する必要があります。

+0

2.6.0と同じバージョン – matzeri

関連する問題