Windows命令行粘贴中文连字符—时自动变为英文短划线-
重要信息:是否能解决?
- 该问题无法通过系统设置来解决,只能把您粘贴的字符串中的英文短划线删掉,手动键入中文连字符。
- powershell中无法键入中文连字符,请勿作无谓的尝试。只有cmd还能通过手工键入的形式输入中文连字符。
背景
中文连字符—
一般在打出破折号时会用到。按住shift键再按
即可得到两个中文连字符—
构成的破折号——
。
尽管中文连字符在大多数场景中都不适用,但难免在某些文件命名时用户无意使用了—
,或从别处复制的字符串中含有—
,转而粘贴到命令行,导致数据处理分析出错。
症状
以下两行字符串分别包含中文连字符—
和英文连字符-
。
E:\test—1—1.txt
E:\test-1-1.txt
复制了第一行含有中文破折号—
的字符串后,粘贴到cmd,会自动将中文破折号转换成英文短划线-
。而且,若是尝试将该字符串粘贴到powershell,会发现中文破折号直接被忽略掉了:
复制第二行并粘贴到任意命令行,则不会出现上面的问题。