cygpath
, похоже, неправильно обрабатывает дорожки с акцентами, например.Cygpath and accents (àèìòù)
C:\cygwin64\bin>cygpath --absolute -C UTF8 "C:\foo\àòè\foo2"
печатает
/usr/bin/"C:/foo/àòè/foo2"
, тогда как я бы ожидать:
/cygdrive/c/foo/àòè/foo2
Тот же путь без акцентов дает ожидаемый результат:
C:\cygwin64\bin>cygpath --absolute -C UTF8 "C:\foo\aoe\foo2"
/cygdrive/c/foo/aoe/foo2
я делаю что-то неправильно?
------ EDIT 1
Я использую Cygpath 2.6.0 на 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=
Насколько я вижу, после Adrian ответа, я думаю, что проблема в том, что я пытаюсь использовать cygpath, не запуская cygwin bash, потому что, используя это, у меня нет никаких проблем.
$ cygpath --absolute -C UTF8 "C:\foo\àèò\foo2"
/cygdrive/c/foo/àèò/foo2
Но мне нужно использовать cygpath напрямую без bash, вы думаете, что есть способ?
Для меня это также работает без 'mintty' /' bash' непосредственно в терминале Windows ('cmd.exe') в Windows 10. –
Просто установлен cygwin 32bit и с cmd.exe У меня такая же проблема. Я просто попробовал с powershell, и это работает. Я действительно не знаю, что думаю. – Polletto
Подтвердите сейчас, см. Мой обновленный ответ. –