目录名
前提
D盘里,Program Files
目录下有个hello.exe
,正确运行时输出“Hello world!”。
当没有任何处理时,命令被空格截断。
D:\>d:/Program Files/hello.exe
'd:/Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
方法一 使用双引号
在cmd中输入cd p
再按下Tab键自动补全(有些需要修改注册表才有自动补全功能)时,显示如下:
D:\>cd "Program Files"
于是,输入:
D:\>d:/"Program Files"/hello.exe
Hello world!
或者:
D:\>"d:/Program Files/hello.exe"
Hello world!
方法二 使用缩写
采用八个字符,由目录名前六个字符(不计空格),加上波浪线~
和数字(1~4)组成。如果多于四个文件使用相同的前六个字符,则由目录名的前两个字符结合四个字符的散列码,加上波浪线~
和数字1组成。
可以使用dir /x
查看目录名缩写。
D:\>dir /x
驱动器 D 中的卷是 软件
卷的序列号是 000C-A10D
D:\ 的目录
2016/01/20 10:28 <DIR> Cygwin64
2016/01/28 13:33 <DIR> DOCUME~1 Documents
2016/01/28 17:11 <DIR> GitHub
2016/01/27 10:52 <DIR> MinGW
2016/01/27 21:41 <DIR> OpenCV
2016/01/30 19:01 <DIR> PROGRA~2 Program Files
2016/01/28 19:48 <DIR> PROGRA~1 Program Files (x86)
2016/01/23 11:31 <DIR> WORKSP~1 workspace
0 个文件 0 字节
8 个目录 41,520,476,160 可用字节
所以就可以使用以下命令:
D:\>d:/progra~2/hello.exe
Hello world!
另外,数字的确定跟目录的新建时间有关,跟最后修改时间无关。最早新建的目录数字为1。
2013/12/31 13:09 <DIR> 计算机~1 计算机导论
2016/01/30 20:30 <DIR> 计算机~2 计算机平面设计
2015/12/29 21:43 <DIR> 计算机~4 计算机操作系统
2015/06/17 19:02 <DIR> 计算机~3 计算机组成原理与系统结构
2016/01/02 21:33 <DIR> 计65D1~1 计算机网络
2016/01/30 19:47 <DIR> 计E2A4~1 计算机计算机计算机
文件名
大部分与目录名相同,唯一不同的是大部分文件名有后缀,缩写时后缀取前三个字符。
D:\>dir /x "Program Files\test text*.*"
驱动器 D 中的卷是 软件
卷的序列号是 000C-A10D
D:\Program Files 的目录
2016/01/30 20:19 0 TESTTE~1.ABC test text.abcdefg
2016/01/30 20:25 13 TESTTE~1.TXT test text1.txt
2016/01/30 20:24 0 TESTTE~2.TXT test text2.txt
2016/01/30 20:25 0 TESTTE~3.TXT test text3.txt
4 个文件 13 字节
0 个目录 41,520,476,160 可用字节
subst
DOS命令,它的功能是以磁盘驱动器符代替路径名称,以使驱动器符与指定的子目录路径等效。如:
D:\>subst Z: d:/"Program Files"
D:\>z:/hello.exe
Hello world!
解除代替用subst /d
,如:
D:\>subst /d z:
D:\>z:/hello.exe
系统找不到指定的驱动器。