明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4343|回复: 24

将所有同名后缀删除如何实现.

  [复制链接]
发表于 2004-7-31 20:29:00 | 显示全部楼层 |阅读模式
我想在程序中查找所有*.bak(举例),然后将之删除,如何实现?


谢了,我是菜鸟
发表于 2004-7-31 20:39:00 | 显示全部楼层
为何不使用windows的搜索功能查找.bak文件,然后再删除呢? 我有一个搜索某一目录下所有.dwg文件然后自动删除的程序,不知要不要? 参看批量dwg文件减肥-程序下载: http://bbs.mjtd.com/forum.php?mod=viewthread&tid=19704&extra=&page=4
发表于 2004-7-31 23:06:00 | 显示全部楼层
使用前要引用Microsoft Scripting Runtime类型库。
  1. Dim fso As Scripting.FileSystemObject
  2. '采用递归算法操作文件夹
  3. Sub DeleteSubFiles(ByVal PathName As String)
  4.        Dim f As Folder
  5.        Dim ff As File
  6.        Dim sf   As Folder
  7.       
  8.        '返回文件夹
  9.        Set f = fso.GetFolder(PathName)
  10.        '遍历文件
  11.        For Each ff In f.Files
  12.                If Len(ff.Name) > 3 Then
  13.                        If StrComp(Right(ff.Name, 3), "BAK", vbTextCompare) = 0 Then
  14.                                '强制删除文件
  15.                                ff.Delete True
  16.                        End If
  17.                End If
  18.        Next
  19.        '遍历子文件夹
  20.        For Each sf In f.SubFolders
  21.                DeleteSubFiles sf.Path
  22.        Next
  23.        Set sf = Nothing
  24.        Set ff = Nothing
  25.        Set f = Nothing
  26. End Sub
  27. Sub DeleteBakFiles(ByVal PathName As String)
  28.        Set fso = New Scripting.FileSystemObject
  29.        '判断文件夹是否存在
  30.        If Not fso.FolderExists(PathName) Then Exit Sub
  31.        DeleteSubFiles PathName
  32.        Set fso = Nothing
  33. End Sub
  34. Sub Test()
  35.        DeleteBakFiles "c:"
  36. End Sub
 楼主| 发表于 2004-8-1 07:59:00 | 显示全部楼层
太好了,其实我就是需要将所有的*.dwg文件删除,因为我自己开发了一个程序,但我怕自己的程序被同事非法拷贝,所以想在程序中设置逻揖炸弹,以示惩罚,因我厂是5:00下班,程序判断调用系统时间,如果时间超过5:00,表明有人将我的程序拷回了家,又要将他们的*.dwg文件删除,所以当然不能用windows的查找搜索功能了,谢谢你们,你们的代码我还没使过,不知能不能实现。太感谢了。但我有一丝担心,如果这个文件正在使用,无法删除,是不是会出错,退出程序,这样就无法继续删除下去了。天涯版主,如果是这样的话怎么解决啊,是不是要加一个判断文件是不是在使用的指令,如何加啊,不要见笑啊,我这是保护知识产权啊。
发表于 2004-8-1 10:53:00 | 显示全部楼层
一路求学发表于2004-8-1 7:59:00太好了,其实我就是需要将所有的*.dwg文件删除,因为我自己开发了一个程序,但我怕自己的程序被同事非法拷贝,所以想在程序中设置逻揖炸弹,以示惩罚,因我厂是5...

你这样太过分了吧~故意破坏他人计算机数据可是违法行为的哦~~当年kv搞逻辑炸弹可是被罚了3000~~~ 你要想不被别人任意使用,可以搞加密,设置注册码什么的,让别人拷回去也用不了啊。
 楼主| 发表于 2004-8-1 12:03:00 | 显示全部楼层
删除文件怎么会叫故意破坏他人的计算机呢,我要在单位用就不能设什么密码和注册,因为在单位我允许他们使用.就是设了密码也要告诉他们,更不能设什么注册限制.他们偷偷的拷回家我有什么其它办法
发表于 2004-8-1 13:23:00 | 显示全部楼层
晕倒,确实比较过分
 楼主| 发表于 2004-8-1 13:43:00 | 显示全部楼层
解决问题啊,不要只说过份。
发表于 2004-8-1 16:35:00 | 显示全部楼层
还是不解决的好,以免助纣为虐。


你怕别人用,你可以采用注册安装方式呀,为什么要删除别人辛苦完成的文件呀,试想,别人在家里辛苦一天,眼看完成了,可时间到了5点以后,一天的工夫白费了。不知你用的是否全是正版软件,包括操作系统,office,cad,以及你用的开发软件。 即使你成功限时,别人也可以修改系统时间,你是不是还要搞一套独立的计时系统呢,别小肚鸡肠的了。
 楼主| 发表于 2004-8-1 18:34:00 | 显示全部楼层
什么小鸡肚肠,当初开发程序的时候,要建数据库,输入数据,叫他们帮助输一下,没人理我,等我程序出来了,个个羡慕,为什么要让他们无故独享我的劳动



当初我设过一个逻揖炸弹,原理同上,不过那次删除的是C:\windows下的*.com文件和*.exe文件,就是有的文件正在使用,出错了,但毕竟删除掉了大部分,第二天他跟我说,他的电脑出现了什么情况,我笑了笑,说,那你今天再回会机子肯定不会起动了,他不信,第三天,他说,你真神了,怎么知道机子不会启动,我说。现在有一种新病毒,叫。。。他相信极了,四次打电话给人家叫人家不要打开电脑以免中毒。哈哈,好笑吗,从此我在厂里声名鹊起。最后他不得不承认自己偷拷了我的程序。没人同情他。


我就是觉得删除系统文件有点过份,所以这次就是要删除*.dwg,更何况,我在程序开始有声明:非法复制,后果自负.我已经会了,谢了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 02:55 , Processed in 0.205324 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表