两个目录文件夹,要求删除一个目录下与另一个目录下存在的同名文件

Gao_TF 2009-06-10 10:01:40
各位大侠、兄弟,帮帮忙!我需要在windows上跑的脚本(看到这里是脚本文件区就发过来了,恩),最好四vbs等能直接运行于操作系统上的

这个脚本实现的功能是这样的:
举例说明:
文件夹a下有三个文件b.f,c.d,e.txt;
文件夹b下有很过文件;
要求删除文件夹b下所有与文件夹a下的同名文件(即删除文件夹b下名字为b.f,c.d,e.txt的文件,可能存在也可能不存在);
不用考虑嵌套子文件夹的问题!!!

说白了就是我当初拷贝了一些文件过去,现在后悔了想删除!因为这样的文件比较多,我一点点对,有点晕,时间也利用补上!

谢谢大家!
...全文
463 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cocolong2002 2009-06-11
  • 打赏
  • 举报
回复
已经有答案了
Gao_TF 2009-06-11
  • 打赏
  • 举报
回复
谢谢两位,刚才代码验证过了!lyserver通过了,Tiger_Zhao的代码简练些,但运行出错,提示“行:4;字符:15;错误:语句未结束;代码:800a0401;”不知道是不是我哪些地方配错了!

下午结贴
Gao_TF 2009-06-10
  • 打赏
  • 举报
回复
好的,谢谢版主
fibbery 2009-06-10
  • 打赏
  • 举报
回复
那就把帖子给你转到VBS板块了。Perl/Python都需要安装解释器。
lyserver 2009-06-10
  • 打赏
  • 举报
回复
用记事本创建一个VBS文件,代码如下:

Dim fso, File
Dim PathA, PathB
Dim FilesInPathA

Set fso = CreateObject("Scripting.FileSystemObject")

'获得路径A下的文件列表
Set PathA = fso.GetFolder("路径A")
For Each File In PathA.Files
FilesInPathA = FilesInPathA & "|" & File.Name
Next

'获得路径B下的文件列表
Set PathB = fso.GetFolder("路径B")
For Each File In PathB.Files
If InStr(FilesInPathA, File.Name) Then '判断此文件在路径A下是否存在
File.Delete True '如果存在则删除
End If
Next

Set fso = Nothing
Tiger_Zhao 2009-06-10
  • 打赏
  • 举报
回复
Option Explicit

Sub Main()
Dim sFile As String

sFile = Dir("C:\文件夹a\*.*")
While LenB(sFile) <> 0
On Error Resume Next
Kill "C:\文件夹b\" & sFile
On Error GoTo 0

sFile = Dir()
Wend
End Sub

2,503

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧