现在的位置: 首页 > 综合 > 正文

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

2013年10月07日 ⁄ 综合 ⁄ 共 1092字 ⁄ 字号 评论关闭
公司的产品有点复杂,有些功能又只能通过命令行完成。

但是有的时候产品容易被默认安装到c:\Program Files\这样包含空格的路径下,那么在命令行中输入一个带空格的file path作为参数往往会出错。所以大家都流传着这样一种说法:咱们公司的产品安装的时候选择的目录千万不要包含空格。

但是,一个那么大的产品装好了,使用命令行配置的时候发现path带空格命令过不去,而卸载重装太恐怖了,怎么办?

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

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了

抱歉!评论已关闭.