请选择 进入手机版 | 继续访问电脑版

Vivant

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 327|回复: 0

命令行如何处理windows含空格的目录

[复制链接]
发表于 2022-11-12 14:55:34 | 显示全部楼层 |阅读模式
在命令行下,进入某个含空格的目录,可以通过对目录加双引号来解决 比如:

cd "C:\Program Files"

但是要设置环境变量的话,双引号的办法就行不通了,比如: set PATH="C:\Program Files\UltraISO\bin"

设置虽然不报错,但是因为多了双引号,windows系统就认不到设置的目录,没用。

这个时候可以通过空格目录缩写来达到目的,还是上面的例子,改为
set PATH="C:\PROGRA~1\UltraISO\bin"

那么问题来了,"Program Files"为什么要缩写成"PROGRA~1",缩写规则是怎样定义的?

规则: 目录头6个字母(略去空格) + 波浪号 + 数字(从1算起)

比如: "Documents and Settings" -> "DOCUME~1"

          "IBM Informix Dynamic Server" -> "IBMINF~1"


可是问题又来了,如果几个目录的头6个字母都相同,怎么办?

比如,三个目录: “TEST DIR1”、"TEST DIR2"、“TEST DIR3”,前6个字母都是"TESTDI"

那么就只有通过最后1位阿拉伯数字来区分了,但,谁1,谁2?

答案是根据目录名的ASCII码排序,学过C语言的应该都明白

三个目录的ASCII码值

"TEST DIR1" < "TEST DIR2" < "TEST DIR3"

所以三个目录的缩写:

"TEST DIR1" -> "TESTDI~1"

"TEST DIR2" -> "TESTDI~2"
"TEST DIR3" -> "TESTDI~3"

--------------------------------------------------------------------------------------------------------------------
原文链接:CSDN[url]https://blog.csdn.net/duanbeibei/article/details/45364407[/url]

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Vivant ( 京ICP备18055970号 )

GMT+8, 2022-12-6 22:42 , Processed in 0.140779 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表