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

real_yami 2019-04-21 01:44:12
这个脚本实现的功能是这样的:
举例说明:
文件夹a下有三个文件b.f,c.d,e.txt;以及子文件夹下的若干文件
文件夹b下有很多文件;
要求删除文件夹b下所有与文件夹a下的同名文件包括子文件夹里的同名文件(即删除文件夹b下名字为b.f,c.d,e.txt的文件,可能存在也可能不存在);
需要考虑嵌套子文件夹的问题

说白了就是我当初拷贝了一些文件过去,现在后悔了想删除!因为这样的文件比较多,我一点点对,有点晕,时间也利用补上!
...全文
66 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
milaoshu1020 2019-04-21
  • 打赏
  • 举报
回复
写好了,代码如下:

Set fso = createobject("scripting.filesystemobject")
curdir = fso.getparentfoldername(wscript.scriptfullname)
dirA = fso.buildpath(curdir,"a")
dirB = fso.buildpath(curdir,"b")

Set dict = createobject("scripting.dictionary")
addfilenames fso.getfolder(dirA)
removefiles fso.getfolder(dirB)
msgbox "Done!"

Sub AddFileNames(ByVal objFolder)
For Each objfile In objfolder.files
dict.item(objfile.name) = null
Next
For Each objsubfolder In objfolder.subfolders
addfilenames objsubfolder
Next
End Sub

Sub RemoveFiles(ByVal objFolder)
For Each objfile In objfolder.files
If dict.exists(objfile.name) Then
fso.deletefile objfile.path,True
End If
Next
For Each objsubfolder In objfolder.subfolders
removefiles objsubfolder
Next
End Sub

下载地址:
链接:https://pan.baidu.com/s/1nYH7LPdlcPSvaIT8BoP4zw
提取码:43tr
real_yami 2019-04-21
  • 打赏
  • 举报
回复
我找了一个这个,不过不能获取子文件夹里的文件列表

Dim ofso, File
Dim PathA, PathB
Dim FilesInPathA

Set ofso = CreateObject("Scripting.FileSystemObject")

'获得路径A下的文件列表
Set PathA = ofso.GetFolder("C:\Users\Administrator\Desktop\材质包\meshes")
For Each File In PathA.Files
FilesInPathA = FilesInPathA & "|" & File.Name
Next

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

Set fso = Nothing

2,462

社区成员

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

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