您的位置:程序门 -> vb ->



50分请教:dir查找文件遇到长文件名的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


50分请教:dir查找文件遇到长文件名的问题[已结贴,结贴人:hpygzhx520]
发表于:2007-01-07 17:33:17 楼主
用dir历遍某个文件夹下的所有文件的时候遇到问题:
当某个文件名过长的时候,即报错误5。
经过测试,似乎与路径的长度无关。用len来检测文件名连同后缀的长度,最大只能到135,再长就出错了。(虽然有些bt,但某些人的文件名,比如收藏夹下的文件名的确有那么长!)
怎么处理呢?
既然是历遍,所以是循环用dir,所以错误处理不好办。特来请教各位高人。
谢谢,期待回复。

发表于:2007-01-07 18:18:521楼 得分:20
用api吧
findfirstfile
findnextfile
findclose
发表于:2007-01-07 19:59:112楼 得分:0
不能解决的,这几个api遇到这么长的也不行。
发表于:2007-01-07 21:58:183楼 得分:0
关注。帮顶。
发表于:2007-01-08 08:19:164楼 得分:0
不能解决的,这几个api遇到这么长的也不行。

你测试过了没有啊??
发表于:2007-01-08 11:39:395楼 得分:0
当然是测试过的了,findnextfile返回0
发表于:2007-01-08 12:33:156楼 得分:10
试试用filesystemobject吧
发表于:2007-01-08 15:04:337楼 得分:0
为了这个问题还要引用fso,个人觉得不是很好……
发表于:2007-01-08 15:10:558楼 得分:0
我测试了确实只要路径长度超过259就会找不到
文件名不能超过127个
发表于:2007-01-09 10:03:099楼 得分:0
是啊,大家给想个办法.
发表于:2007-01-09 23:08:5110楼 得分:0
怎么就没人帮忙了?
顶!
发表于:2007-01-10 08:58:2911楼 得分:10
max_path   you   defined   in   win32_find_data   (cfilename   as   string   *   max_path)   is   260,that   is   reason   why   path   name   can 't   be   longer   than   260.
      please   check   your   definition.
发表于:2007-01-10 09:04:5012楼 得分:10
我这里   win2k   sp4,文件名长度都   140   多也没问题。
发表于:2007-01-10 09:10:2013楼 得分:0
那就真奇怪了。用api也许还可以想办法,用dir应该会有问题的。要不然我也不会这么折腾。
发表于:2007-01-10 12:52:1314楼 得分:0
使用api可以解决,但得注意api的版本。
发表于:2007-01-10 12:52:1315楼 得分:0
使用api可以解决,但得注意api的版本。


快速检索

最新资讯
热门点击