用vbs怎么删除文件夹下(包括子文件夹)所有的bak文件

2024-11-30 07:40:00
推荐回答(3个)
回答1:

废话少说,代码呈上:
'************************************代码开始****************************************
set fso=wscript.createobject("scripting.filesystemobject")

call pd("d:\123") '这里可以改成你自己想要删除文件的文件夹,注意保留双引号

sub pd(filepath) '判断目录
set filepath=fso.getfolder(filepath)
for each fname in filepath.files '这里是目录下的文件
call scwj(fname)
next
for each fpath in filepath.subfolders '这里是目录下的子文件夹,循环调用
call pd(fpath)
next
end sub

sub scwj(filename) '删除文件
if fso.getextensionname(filename)="bak" then '如果是bak文件
fso.deletefile filename
end if
end sub
'************************************代码结束****************************************

代码主要是利用各个过程之间的循环调用来实现对文件夹及其子文件夹的历遍,然后再判断文件夹中的文件是否为bak文件,如果是的话,就删除。
利用此点,稍加改动,不止删除文件,还可以实现很多功能,比如说历遍磁盘上某种类型所有的文件并将其复制到某个文件夹,或者是U盘(如果后台运行的话,别人就不知道你正在偷偷摸摸的复制他的文档资料了,很多U盘病毒就是这样的原理,,,,,,,汗,扯远了,楼主不要用来干坏事啊)。。。。。

回答2:

一定是CMD吗?CMD下命令:

for /r "delims=" %i in ('dir /s /b *.*') do (echo ren "%i" "%~dpni.xxx")

.xxx 为新的后缀。该命令执行前,应该使用CD /D命令切换到文件夹的根目录。代码仅作演示,确认无误后,将echo删除即可。

回答3:

用粉碎机粉碎掉它