Windows路径含有带空格的目录/文件名的处理

今天在学习打包工具,的时候遇到了一个问题:

  return "C:/Program Files/Unity/Hub/Editor/2019.3.10f1/Editor/Unity.exe"   

返回代用一个的应用程序的时候报错:
C:/Program' 不是内部或外部命令,也不是可运行的程序或批处理文件。
在网上查了下原因:命令行被空格符截断了。

解决办法:
1 使用双引号:

        return "C:/\"Program Files\"/Unity/Hub/Editor/2019.3.10f1/Editor/Unity.exe"

2 使用缩写
采用八个字符,由目录名前六个字符(不计空格),加上波浪线和数字(14)组成。如果多于四个文件使用相同的前六个字符,则由目录名的前两个字符结合四个字符的散列码,加上波浪线~和数字1组成。
可以使用dir /x查看目录名缩写。

 return "C:/Progra~1/Unity/Hub/Editor/2019.3.10f1/Editor/Unity.exe"

但是这个方法是有个缺点的:
数字的确定跟目录的新建时间有关,跟最后修改时间无关。最早新建的目录数字为1。随意你的指导文件的创建时间.....

你可能感兴趣的:(Windows路径含有带空格的目录/文件名的处理)