首页 > 代码库 > CmD空格转义的三种方法,总有一种会解决问题

CmD空格转义的三种方法,总有一种会解决问题

CmD空格转义

在cmd中,如果路径中存在空格报错 可以有三种解决方法:

1、将存在空格的路径用双引号包起来,如:"D:/Program Files/xx";

 

2、将存在空格的名称前6个字母表示,以后的用~1代替. 如:"D/Progra~1/xx"

解释:

用缩写。比如c:\Program Files缩写为c:\Progra~1
       再来刨根问底查查这个命名是否有规则,于是找到:
                 文件夹(sub-directry)名称,以前是不允许带空白的,后来允许带空白,但由于有了空白,许多命令出现二义性,于是采用双引号括起来的办法。例如:
                    cd Documents and Settings
                按老定义 等于 CD Documents, CD 命令找不到名叫Documents 的 directry
                于是采用双引号:
                    cd “Documents and Settings“
                但用到 set PATH 时很麻烦,名字太长,双引号时常括错。于是采用8个字符缩写,即写头六个字母(略去空白),另加波浪号和1。例如:
                    "Documents and Settings“ -- DOCUME~1
                    "Local Settings" -- LOCALS~1 (注意略去空白,用了第二个词的字母,凑成六个,再加波浪号和1)。
                于是,这种方法成了规定。
       再来个十万个为什么的下一个,如果多个文件前6字符一样怎么办?为什么最后是1而不是0或者其他数字呢?看看这个例子
                假设下面是你的C盘根目录中的文件夹:
                    Program Files
                    Progra file
                    Progra zhang
                则三个目录分别表示为:C:\Progra~1; C:\Progra~2; C:\Progra~3;

 

3、将存在空格的路径进行绕道:绕过去,创建一个镜像。例如在cmd中输入  subst w: "C:\Documents and Settings\hopeshared"。然后就可以直接用w:\替代C:\Documents and Settings\hopeshared了

CmD空格转义的三种方法,总有一种会解决问题