脚本使用例程CleanFolder遍历一个文件夹

1)使用CleanFolder递归遍历该文件夹下的所有子文件夹

2)如果该子文件夹的大小为0,则删除这个文件夹

3)遍历该文件夹下的所有文件,扩展名不是 *.h *.c *.cpp,则删除该文件

 '脚本用途:遍历一个文件夹,执行下列操作
'1)如果一个文件不属于 *.c *.cpp *.h 类型则删除
'2)如果一个子文件夹中没有文件,则删除该文件夹
'输入参数:Argument(0) 被检查文件夹地址 Option Explicit '检查输入参数是否合法
Dim FolderAddress
If WScript.Arguments.Count <> Then
WScript.Echo "参数输入错误!请输入要遍历的文件夹地址。"
WScript.Quit
Else
FolderAddress = WScript.Arguments()
WScript.Echo "准备遍历文件夹:" & FolderAddress
End If Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject") '考察文件夹是否存在
If Not FSO.FolderExists(FolderAddress) Then
WScript.Echo "文件夹非法!请检查是否有拼写错误。"
WScript.Quit
End If CleanFolder FolderAddress '例程:递归删除一个文件夹内不符合规格的文件和文件夹
Sub CleanFolder(Folder) WScript.Echo "开始遍历文件夹:" & FolderAddress Dim SubFolder, File
'检查所有子文件夹
For Each SubFolder In FSO.GetFolder(Folder).SubFolders
WScript.Echo "发现文件夹:" & SubFolder
CleanFolder SubFolder
'如果文件夹为空,则删除该文件夹
If FSO.GetFolder(SubFolder).Size = Then
WScript.Echo "删除空文件夹:" & SubFolder
FSO.DeleteFolder(SubFolder)
End If
Next
'删除所有文件
For Each File In FSO.GetFolder(Folder).Files
WScript.Echo "发现文件:" & File
'在这里指定要保留的文件扩展名,不属于该扩展名的文件将被删除
If UCase(FSO.GetExtensionName(File.Name)) <> "H" _
And UCase(FSO.GetExtensionName(File.Name)) <> "C" _
And UCase(FSO.GetExtensionName(File.Name)) <> "CPP" Then
WScript.Echo "删除文件:" & File
FSO.DeleteFile(File)
End If
Next End Sub

调用本脚本,可以在命令行中输入下面的命令运行

 cscript 脚本地址 待检查文件夹地址 //nologo
 
 

[VBS]带参数删除扩展名不是*.h、*.c、*.cpp的全部文件的更多相关文章

  1. Delphi获取文件名、文件名不带扩展名、文件名的方法;delphi 获取文件所在路径

    取文件名 ExtractFileName(FileName); 取文件扩展名: ExtractFileExt(filename); 取文件名,不带扩展名: 方法一:   Function Extrac ...

  2. C# 选择文件、选择文件夹、打开文件(或者文件夹) 路径中获取文件全路径、目录、扩展名、文件名称 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名!!

    https://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new Ope ...

  3. windows的各种扩展名详解

    Windows系统文件按照不同的格式和用途分很多种类,为便于管理和识别,在对文件命名时,是以扩展名加以区分的,即文件名格式为: 主文件名.扩展名.这样就可以根据文件的扩展名,判定文件的种类,从而知道其 ...

  4. 【技术宅3】截取文件和url扩展名的N种方法

    //截取文件扩展名的N种方法   //第1种 //strrchr() 函数查找字符在指定字符串中最后一次出现的位置,如果成功,则返回其后面的字符串 //返回带有点的扩展名 function get_e ...

  5. Struts2 文件下载(中文处理方法以及控制下载文件名称和扩展名)

    Struts2的框架提供了现成的文件下载方式,大大简化了开发下载功能的便利性.网上的例子有很多,我把一些大家普遍比较关注的点,集中一下,给出一个整体方案. 一般我们照着书本或者网上的列子写出了一个De ...

  6. bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)

    前言: 在平时的工作中,经常需要批量统计文件和数据,如果逐个统计的话太耗时,而且容易出错那么有没有什么快速的方法呢,这里给大家介绍一种简单高效的方法. 方法: 1.打开CMD命令: 按下 Ctrl+R ...

  7. 关于java文件扩展名认识

    ☆ 写在前面 一名新手在历经千辛万苦写好Java程序,怀揣激动的心情去编译和执行java程序时,结果出现错误,什么找不到文件,什么不存在,找不到main方法等等.我在这里就文件后扩展名,也叫文件后缀名 ...

  8. 每天一个linux命令(24)--Linux文件类型与扩展名

    linux 文件类型和Linux 文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如 file.txt  file.tar.gz.这些文件虽然要用不同的程序来打开,但放在Lin ...

  9. 让IIS6支持任意扩展名和未知扩展名的下载

    IIS6的安全性提高了很多,为了防止扩展名欺骗带来的安全性问题,限制了扩展名MIME类型. IIS6 只为对具有已知文件扩展名的文件的请求提供服务.如果请求内容的文件扩展名未映射到已知的扩展,则服务器 ...

随机推荐

  1. switch语句

    应用条件语句可以很方便地使程序实现分支,但是出现分支比较多的时候,虽然可以用嵌套的if语句来解决,但是程序结构会显得复杂,甚至凌乱.为方便实现多情况选择,C++提供了一种switch开关语句.   一 ...

  2. Oracle linux6.1配置yum本地源

    一.准备工作1. Linux安装盘插入光驱2. 挂载光驱 [root@localhost ~]# mount /dev/cdrom /mnt/ mount: block device /dev/sr0 ...

  3. Codeforces 721D [贪心]

    /* 不要低头,不要放弃,不要气馁,不要慌张. 题意: 给一列数a,可以进行k次操作,每次操作可以选取任意一个数加x或者减x,x是固定的数.求如何才能使得这个数列所有数乘积最小. 思路: 贪心...讨 ...

  4. linux下一对多socket服务器端多线程泄露问题

    线程创建多了,没有释放.导致内存泄露... int main() { int len; int on=1; // pMachList = CreateEmptyLinklist(); DataBase ...

  5. 写CSS的布局

    刚写页面的时候写CSS觉得一个选择器中的每个声明分别占一行看起来舒服些,但随着页面大了,写的东西多了,看起来就很乱了.所以每个声明连着写其实更加好些

  6. tinyxml学习5

    读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好. TinyXML是一个开源的解 ...

  7. JS 計算文本域還能輸入多少個字符

    //輸入計數 //count:能輸入的數據總量    function Calculation(v, count) {        var span = $(v).next();        va ...

  8. JavaScript 对象 之继承对象 学习笔记

    假设,我们有个这样的需求: 两个种族,每个种族都有 名字.血量(默认200).行为(行为有 跳跃.移动速度 这些属性)等共有属性. 人族能量值比兽人多10%,兽人血量比人族多10%. 职业有战士和法师 ...

  9. Oracle Database 11G R2 标准版 企业版 下载地址(转)

    转自:http://blog.itpub.net/628922/viewspace-759245/ 不需要注册,直接复制到迅雷或其他下载软件中即可下载. oracle 11.2.0.3 下载地址: L ...

  10. 关于UID和GID的创建、修改、删除;简要举例

    用户.组和权限 安全3A资源分派 (authentication)认证 (authorization)授权 (accounting)审计 user( 用户) Linux用户:Username/UID ...