求判断进行文件拷贝程序(很有挑战性)!!
想写个程序实现如下功能:将文件夹2中的所有文件拷贝到文件夹1
中,拷贝前先判断文件夹1中有无类似文件名的文件,有则将其转移
到文件夹3后再拷贝。
举例:文件夹1中有文件___123456___.pdf,现在要将文件夹2中的
所有文件拷贝到文件夹1中,假设文件夹2中有文件__123456__CN.pdf
,则将文件夹1中的文件___123456___.pdf先转移到文件夹3中,再
拷贝__123456__CN.pdf到文件夹2。
(注:每拷贝一个文件均要进行整个文件夹搜索,看有无类似文件。
文件名可按下划线分割成若干部分,取最大字符串进行比对,相同
则认为是类似文件名。)
我不知道该如何下手,请各位赐教!
问题点数:50、回复次数:15Top
1 楼DooDu(杜霖:I want,I can(开关拉))回复于 2005-06-01 15:49:08 得分 15
思路都出来了,就是这么下手啊~~:)
1。得到文件夹1,2所有文件名。====》遍历文件夹,用dir等
2。在1中查找2中相似文件名的文件。====》字符串处理,用instr等
3。把他们复制到3,删除2中的副本。====》操作文件,用kill,FileCopy等
4。从2到1覆盖式复制文件。====》同样操作文件用FileCopy等Top
2 楼zuoxingyu(激情成就梦想)回复于 2005-06-01 16:08:41 得分 0
楼上正解啊Top
3 楼richboy2003(囡囡)回复于 2005-06-01 16:27:33 得分 0
不好意思,俺刚学,知道有步骤有思路但是不晓得怎么写啊,请各位大虾帮帮忙吧,写给我看看,下次就好下手了,谢谢!Top
4 楼samwzhang(分全给我)回复于 2005-06-01 16:52:17 得分 0
蹭Top
5 楼51365133(渊海)回复于 2005-06-01 17:07:50 得分 0
不知道说什么好,本身想写的,但是看后,又不想写了Top
6 楼richboy2003(囡囡)回复于 2005-06-01 17:11:18 得分 0
为什么呀,大家帮帮忙嘛,我50分全给他呀。谁都有这样一个过程,入了门之后就好了啊,万事开头难,请大家帮我度过这道坎,我会很感激的(好人一生平安)Top
7 楼wuyazhe(wyz&xyl)回复于 2005-06-01 19:54:40 得分 0
你可以先把1改名成3
然后建立1
拷贝
检查3中有没有文件
没有的话,删除文件夹3Top
8 楼lzheng2001(1加1)回复于 2005-06-01 20:32:08 得分 15
不用每移动一个文件都检查
大概用以下语句
Set fs = CreateObject("Scripting.FileSystemObject")
on error goto err
copyfile:
fs.MoveFile "C:\文件夹1\abc.jpg" , destination "C:\文件夹2.abc.jpg"
exit sub
err:
'有同名文件时就会发生错误
把同名文件移动到文件夹3
goto copyfile '再次执行移动语句
end sub
Top
9 楼dongge2000(目前叫西西了)回复于 2005-06-01 20:45:01 得分 0
呵呵Top
10 楼tmran(Rocky 爱瘦鱼)回复于 2005-06-01 20:55:46 得分 15
lzheng2001(1加1=0) 的方法当然可以,不过不建议这样做,因为如果:
fs.MoveFile "C:\文件夹1\abc.jpg" , destination "C:\文件夹2.abc.jpg"
句前后一旦有别的语句,当这些语句出错时,你的问题就来了。呵呵!
本人陋见:
写程序还是要按照标准格式写,即最好不要使用“技巧”,特别是对于正常过程的处理,有数为证:
http://www.willgo.net/bbs/dispbbs.asp?boardID=12&ID=111&page=1
http://www.willgo.net/bbs/dispbbs.asp?boardID=12&ID=112&page=1
同意DooDu(杜霖:I want,I can.(MmMVP马甲)) 的方法。Top
11 楼lzheng2001(1加1)回复于 2005-06-01 21:22:32 得分 0
当然我说的是思路,上面的语句也应该用
filecopy CopyFile source, destination, false
具体错误处理,还可以完善的,可以考虑在不同的位置用 on error 及多设置一个err标签来完善
Top
12 楼lzheng2001(1加1)回复于 2005-06-01 21:25:26 得分 5
有时间如果文件被锁住,无论你怎么写语句,都不会成功的, 这时应该循环一次filecopy 语句不成功则返回false及上一层函数,继续执行一下个文件的filecopyTop
13 楼richboy2003(囡囡)回复于 2005-06-01 22:42:16 得分 0
这个程序看起来简单,估计写起来也不会很轻松的。我问了我一个专业写程序的朋友,他搞编程好多年了,他说写然后调试好估计也要1天呢。哎。看样子是得不到解了!刚出道就被泼了一身的冷水Top
14 楼lzheng2001(1加1)回复于 2005-06-02 08:59:59 得分 0
用我的思路1,2个小时就可以搞定啦.Top
15 楼tywong(别人的天长地久)回复于 2005-06-02 10:50:43 得分 0
只思考不动手永远是不行的。你的朋友在忽悠你呢,这个程序不难的。
同意1+1的思路Top




