cmd.exe and file name conversion from comman line argument
h_ono@ot.olympus.co.jp
h_ono@ot.olympus.co.jp
Fri Jul 27 05:24:00 GMT 2018
Hello,
There is strange behavior when naming a file from command line argument in
cmd.exe cosole,
using touch or mv.
I use:
touch (GNU coreutils) 8.26
Packaged by Cygwin (8.26-2)
cygwin1.dll version 2.10.0
in cmd.exe, doing
> touch aaa
and
> touch 'aaa'
give same file name aaa.
> ls
aaa
but, when I use Japanese characters as file name, it gives different file
names
with and without the quote.
> env LANG=ja_JP.UTF-8 touch あああ
gives
> env LANG=ja_JP.UTF-8 ls
あああ
but,
> env LANG=ja_JP.UTF-8 touch 'あああ'
gives file name with quote not stripped.
> env LANG=ja_JP.UTF-8 ls
'あああ'
If called from mintty + bash,
$ env LANG=ja_JP.UTF-8 touch 'あああ'
gives
$ env LANG=ja_JP.UTF-8 ls
あああ
The problem is when I create a file containing spaces in its name.
Creating a file in cmd.exe like:
> env LANG=ja_JP.UTF-8 touch 'ああ あ'
gives
> env LANG=ja_JP.UTF-8 ls
"'ああ あ'"
(which is a file named 'ああ あ', not ああ あ)
It seems, there is no way to create a file containing a space in its name,
like
ああ あ
with commands such as touch or mv.
Is it a normal behavior, or a bug?
Is there any way to create a file containing Japanese characters and
spaces in its name
without quote added?
FYI, With old cygwin (cygwin1.dll version 1.5.25), there were not such
problem.
Even from cmd.exe,
> touch 'ああ あ'
gave a file named 'ああ あ' (without the quote in real.)
----------
Hiroo Ono
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list