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

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

[复制链接]

54

主题

6

回帖

40万

积分

管理员

积分
400064

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2024-4-22 09:17:04 | 显示全部楼层 |阅读模式
在命令行下,进入某个含空格的目录,可以通过对目录加双引号来解决 比如:
  1. cd "C:\Program Files"
复制代码
但是要设置环境变量的话,双引号的办法就行不通了,比如: set PATH="C:\Program Files\UltraISO\bin",设置虽然不报错,但是因为多了双引号,windows系统就认不到设置的目录,没用。
这个时候可以通过空格目录缩写来达到目的,还是上面的例子,改为

  1. 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"


回复

使用道具 举报

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

本版积分规则

精简版|手机版|嗐!无思百忧,祇自重兮 ( 京ICP备18055970号|京ICP备18055970号 )晋公网安备 14010902001813号 劰载中... 本站总访问量次. 您是第个小伙伴

GMT+8, 2026-1-25 17:44 , Processed in 0.085414 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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