Win10的64位系统奇怪问题:D盘文件夹D:\Program Files(包括D:\Program Files(x86))下的长文件名不能转换成短文件名

东方之珠 2020-03-20 11:50:23
win10的64位系统奇怪的问题:D盘下的文件夹D:\Program Files和D:\Program Files(x86)下面的长文件名不能用API函数GetShortFileName转换成短文件名,通过API函数GetShortFileName转换后,还是长文件名,就是没变。不知微软在搞啥名堂,留了什么后门,太奇怪了。
但是,C盘下面C:\Program Files和C:\Program Files(x86)下面的长文件名可以用API函数GetShortFileName转换成短文件名。
而win7的64位系统就没有这个问题,转换很顺利。
看一下下面这个图就明白了:
这是win10的C盘:

这是win10的D盘:

C盘可以进去,但就是D盘不行。
系统找不到指定的路径,什么意思??C盘和D盘那2个文件夹不是一样的吗?
为什么C可以,D不行呢?微软又隐藏了啥东东
这个问题怎么解决?难道API对D盘不管用了...


...全文
1447 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
milaoshu1020 2020-03-26
  • 打赏
  • 举报
回复
可以的,用环境变量绕过这个问题;
引用 2 楼 东方之珠 的回复:
不知道微软在搞啥名堂,D盘不能实现短文件名??? 其实,我是要用控制台程序实现一些任务,路径中有空格是要被分割的。虽然可以用双引号解决控制台程序的一些问题,比如:"D:\Program Files(x86)"或者D:\"Program Files(x86)",但加了双引号不是一件好事,Dir函数不能用,Open语句出错,等等......。 后来,想到一个绝招,用API函数设置环境变量,把那些长路径全部扔掉,只要程序名,而程序名一般不会有空格,所有的输入、输出程序都不要路径,就解决了问题。
东方之珠 2020-03-26
  • 打赏
  • 举报
回复
引用 1 楼 milaoshu1020 的回复:
dir /x 可以看短文件名; d:盘的确实没有短文件名,我也不知道为什么...
不知道微软在搞啥名堂,D盘不能实现短文件名??? 其实,我是要用控制台程序实现一些任务,路径中有空格是要被分割的。虽然可以用双引号解决控制台程序的一些问题,比如:"D:\Program Files(x86)"或者D:\"Program Files(x86)",但加了双引号不是一件好事,Dir函数不能用,Open语句出错,等等......。 后来,想到一个绝招,用API函数设置环境变量,把那些长路径全部扔掉,只要程序名,而程序名一般不会有空格,所有的输入、输出程序都不要路径,就解决了问题。
milaoshu1020 2020-03-24
  • 打赏
  • 举报
回复
dir /x 可以看短文件名; d:盘的确实没有短文件名,我也不知道为什么...
jdk-6u20-windows-x64.exe linx64位下载: 第1部分:http://download.csdn.net/detail/love254443233/5263081 第2部分:http://download.csdn.net/detail/love254443233/5263160 附:java配置方法.txt 1:找到JDK安装的文件夹。 列如:(1)JDK安装在C盘Program Files\java这个文件内; 那么就打开C盘---然后在打开Program Files\java这个文件。 (2)单击“我的电脑”右键--属性---高级---环境变量; 在系统变量这一栏: 单击:新建 在变量名中输入:JAVA_HOME 在变量值中输入:JDK的存储路径(列如:C:\Program Files\Java\jdk1.6.0_03) 完成后:单击“确认” (3)单击“我的电脑”右键--属性---高级---环境变量; 在系统变量这一栏: 单击:新建 在变量名中输入:CLASSPATH 在变量值中输入:JDK目录下LB的存储路径(列如:C:\Program Files\Java\jdk1.6.0_03\lib) .class类文件的目录(例如:D:\eclipse\workspace) 完成后:单击“确认” (3)单击“我的电脑”右键--属性---高级---环境变量; 在系统变量这一栏: 找到PATH--双击 在最后添加上你的javac所在的目录路径;切记用分号与里面已经有的路径阁开 (C:\Program Files\Java\jdk1.5.0_08\bin;F:\oracle\ora90\bin;F:\oracle\ora90\Apache\Perl\5.00503\bin\mswin32-x86;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;D:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\;C:\Program Files\Java\jdk1.6.0_03\bin) 完成后:单击“确认” 环境变量就配置OK了。 验证安装:cmd -> java -version tomcat6.0配置 CATALINA_HOME: E:\java\apache-tomcat-6.0.26 CATALINA_BASE: E:\java\apache-tomcat-6.0.26 TOMCAT_HOME: E:\java\apache-tomcat-6.0.26 classpath=.;%JAVA_HOME%\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_03\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar; 【注意最新版本的Tomcat中可能没有common这个文件夹了。所以servlet-api.jar应该的路径为 %CATALINA_HOME%\lib\servlet-api.jar;请根据自己的情况自己修改!】 接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧