当前位置:编程学习 > VB >>

VB 如何通过文件名称获得绝对路径

比如只知道文件名“123.exe” 要通过这个名字获得它的所在路径 全盘搜索。

比如说,我的电脑中有100个setup.exe,50个index.htm,230个program.vb,10个autorun.inf,你随便给一个文件名,我天知道你要找哪一个。 难, 一般情况下,安装时或初次运行时,应用要在注册表中保留一些记录。客户端可以通过预定义的键,从注册表取得路径。

当然,你也可以的预定路径下,如 C:\ 根目录下生成一个 .ini 文件来记录相关的信息。道理是一样的。

如果没有这样的记录,只能通过全盘搜索的方式来查找了。可能需要很长时间。
引用 1 楼 caozhy 的回复:
全盘搜索。

比如说,我的电脑中有100个setup.exe,50个index.htm,230个program.vb,10个autorun.inf,你随便给一个文件名,我天知道你要找哪一个。


对哦。估计楼主是想用CurDir取得当前目录后和该文件名拼合的可能性较大。 system("dir /b /a-d c:\\*.* >d:\\allfiles.txt");
//读文件d:\\allfiles.txt的内容即C:\\下所有文件的名字
system("dir /b /a-d /s c:\\*.* >d:\\allfilesinsub.txt");
//读文件d:\\allfilesinsub.txt的内容即C:\\下所有文件的名字包含子目录
system("dir /b /ad  c:\\*.* >d:\\alldirs.txt");
//读文件d:\\alldirs.txt的内容即C:\\下所有子目录的名字
请记住,能用shell命令获取文件、文件夹信息或者操作文件、文件夹最好用shell命令获取或者操作,而不要用各种API获取或者操作,因为当遇到非法文件夹名或非法文件名或非法文件长度、非法文件日期、压缩文件、链接文件、稀疏文件……等各种意料之外的情况时,API会处理的不全面或陷入死循环,而shell命令不会。
搞些莫明其妙的需求………………
123.exe他自己可以知道
引用 4 楼 bcrun 的回复:
对哦。估计楼主是想用CurDir取得当前目录后和该文件名拼合的可能性较大。

+1
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,