Web lists-archives.com

Re: cmd.exe and file name conversion from comman line argument

Thank you

> From: Marco Atzeri <marco.atzeri@xxxxxxxxx>

> what happen if you use bash ?

With cmd + bash, the problem does not occur, but I would like to use cmd 
without bash, if possible.

> From: Brian Inglis <Brian.Inglis@xxxxxxxxxxxxxxxxxx>
> To: cygwin@xxxxxxxxxx
> Date: 2018/07/27 14:25
> Subject: Re: cmd.exe and file name conversion from comman line argument
> Sent by: cygwin-owner@xxxxxxxxxx

> Under a Unix shell, both double quote " and single quote/apostrophe ' 
> quoting metacharacters, as is backquote/grave `, but any character may 
be used
> in a file name by prefixing with the escape character \.
> Under Windows cmd only double quote " is a quoting metacharacter; path 
> delimiters : \ /, wild card characters * ?, and redirection 
> characters | < > are
> also not allowed in file names. So to create a Windows file name with a 
> from cmd, use only double quotes " around the name.

Thank you. quoting only the space character worked, which seems to solve
my problem.

from cmd, with LANG environment variables set to ja_JP.UTF-8

c:\cygwin\home\hiroo> touch ああ" "あ


c:\cygwin\home\hiroo> touch ああ' 'あ

gives a file named ああ あ.

The rest may be superfluous, but just to compare with.
Quoting Japanese characters too did not work.

c:\cygwin\home\hiroo> touch "あああ"


c:\cygwin\home\hiroo> ls

(and shown as ・あああ・ in explorer)


c:\cygwin\home\hiroo> touch "aaa"


c:\cygwin\home\hiroo> ls


c:\cygwin\home\hiroo> echo > "あああ"

(in this case, the file name is surely processed by cmd)
gives a file named あああ (without quotes).

> Under Cygwin, any file name characters disallowed by Windows are mapped 
> Unicode private use area characters, but converted back on display, so 
> Windows programs those files' long names will display characters without
> assigned glyphs.
> Note that in ls, nongraphic characters in a file name entry e.g. space, 
> that file name entry to be displayed single quoted 'a b'; specifying ls
> -N|--literal|--quoting-style=literal omits the single quotes, but 
> characters are displayed on terminals as question marks ?, unless
> --show-control-chars is also specified.
> Run "info ls 'Formatting the file names'" to see full explanations.
> -- 
> Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

Hiroo Ono