CMD输入路径包含空格

来源:互联网 发布:软件行业就业方向 编辑:程序博客网 时间:2024/05/01 02:43

近期在搭建CAS服务,碰上个导入证书时,客户端的JAVA_HOME路径包含空格而导致命令错误;

转自:http://www.blogjava.net/hopeshared/archive/2008/01/31/178685.html


当cmd里输入路径包含空格的时候

现在有两个办法来解决这个问题

1)用缩写。比如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;

2)绕过去,创建一个镜像。例如在cmd中输入  subst w: "C:\Documents and Settings\hopeshared"。然后就可以直接用w:\替代C:\Documents and Settings\hopeshared了