一路求学 发表于 2004-7-31 20:29:00

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

我想在程序中查找所有*.bak(举例),然后将之删除,如何实现?


谢了,我是菜鸟

xyp1964 发表于 2004-7-31 20:39:00

为何不使用windows的搜索功能查找.bak文件,然后再删除呢?


我有一个搜索某一目录下所有.dwg文件然后自动删除的程序,不知要不要?


<b>参看批量dwg文件减肥-程序下载:</b>


<A href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=19704&extra=&page=4" target="_blank" >http://bbs.mjtd.com/forum.php?mod=viewthread&tid=19704&extra=&page=4</A>

efan2000 发表于 2004-7-31 23:06:00

使用前要引用Microsoft Scripting Runtime类型库。Dim fso As Scripting.FileSystemObject
'采用递归算法操作文件夹
Sub DeleteSubFiles(ByVal PathName As String)
       Dim f As Folder
       Dim ff As File
       Dim sf   As Folder
      
       '返回文件夹
       Set f = fso.GetFolder(PathName)
       '遍历文件
       For Each ff In f.Files
               If Len(ff.Name) > 3 Then
                     If StrComp(Right(ff.Name, 3), "BAK", vbTextCompare) = 0 Then
                               '强制删除文件
                               ff.Delete True
                     End If
               End If
       Next
       '遍历子文件夹
       For Each sf In f.SubFolders
               DeleteSubFiles sf.Path
       Next
       Set sf = Nothing
       Set ff = Nothing
       Set f = Nothing
End Sub
Sub DeleteBakFiles(ByVal PathName As String)
       Set fso = New Scripting.FileSystemObject
       '判断文件夹是否存在
       If Not fso.FolderExists(PathName) Then Exit Sub
       DeleteSubFiles PathName
       Set fso = Nothing
End Sub
Sub Test()
       DeleteBakFiles "c:\"
End Sub

一路求学 发表于 2004-8-1 07:59:00

太好了,其实我就是需要将所有的*.dwg文件删除,因为我自己开发了一个程序,但我怕自己的程序被同事非法拷贝,所以想在程序中设置逻揖炸弹,以示惩罚,因我厂是5:00下班,程序判断调用系统时间,如果时间超过5:00,表明有人将我的程序拷回了家,又要将他们的*.dwg文件删除,所以当然不能用windows的查找搜索功能了,谢谢你们,你们的代码我还没使过,不知能不能实现。太感谢了。但我有一丝担心,如果这个文件正在使用,无法删除,是不是会出错,退出程序,这样就无法继续删除下去了。天涯版主,如果是这样的话怎么解决啊,是不是要加一个判断文件是不是在使用的指令,如何加啊,不要见笑啊,我这是保护知识产权啊。

mikewolf2k 发表于 2004-8-1 10:53:00

一路求学发表于2004-8-1 7:59:00static/image/common/back.gif太好了,其实我就是需要将所有的*.dwg文件删除,因为我自己开发了一个程序,但我怕自己的程序被同事非法拷贝,所以想在程序中设置逻揖炸弹,以示惩罚,因我厂是5...

<BR>
你这样太过分了吧~故意破坏他人计算机数据可是违法行为的哦~~当年kv搞逻辑炸弹可是被罚了3000~~~


你要想不被别人任意使用,可以搞加密,设置注册码什么的,让别人拷回去也用不了啊。

一路求学 发表于 2004-8-1 12:03:00

删除文件怎么会叫故意破坏他人的计算机呢,我要在单位用就不能设什么密码和注册,因为在单位我允许他们使用.就是设了密码也要告诉他们,更不能设什么注册限制.他们偷偷的拷回家我有什么其它办法

雪山飞狐_lzh 发表于 2004-8-1 13:23:00

晕倒,确实比较过分

一路求学 发表于 2004-8-1 13:43:00

解决问题啊,不要只说过份。

cqnj023 发表于 2004-8-1 16:35:00

还是不解决的好,以免助纣为虐。


你怕别人用,你可以采用注册安装方式呀,为什么要删除别人辛苦完成的文件呀,试想,别人在家里辛苦一天,眼看完成了,可时间到了5点以后,一天的工夫白费了。不知你用的是否全是正版软件,包括操作系统,office,cad,以及你用的开发软件。 即使你成功限时,别人也可以修改系统时间,你是不是还要搞一套独立的计时系统呢,别小肚鸡肠的了。

一路求学 发表于 2004-8-1 18:34:00

什么小鸡肚肠,当初开发程序的时候,要建数据库,输入数据,叫他们帮助输一下,没人理我,等我程序出来了,个个羡慕,为什么要让他们无故独享我的劳动



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


我就是觉得删除系统文件有点过份,所以这次就是要删除*.dwg,更何况,我在程序开始有声明:非法复制,后果自负.我已经会了,谢了。
页: [1] 2 3
查看完整版本: 将所有同名后缀删除如何实现.