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

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

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

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

  1. '脚本用途:遍历一个文件夹,执行下列操作
  2. '1)如果一个文件不属于 *.c *.cpp *.h 类型则删除
  3. '2)如果一个子文件夹中没有文件,则删除该文件夹
  4. '输入参数:Argument(0) 被检查文件夹地址
  5.  
  6. Option Explicit
  7.  
  8. '检查输入参数是否合法
  9. Dim FolderAddress
  10. If WScript.Arguments.Count <> Then
  11. WScript.Echo "参数输入错误!请输入要遍历的文件夹地址。"
  12. WScript.Quit
  13. Else
  14. FolderAddress = WScript.Arguments()
  15. WScript.Echo "准备遍历文件夹:" & FolderAddress
  16. End If
  17.  
  18. Dim FSO
  19. Set FSO = CreateObject("Scripting.FileSystemObject")
  20.  
  21. '考察文件夹是否存在
  22. If Not FSO.FolderExists(FolderAddress) Then
  23. WScript.Echo "文件夹非法!请检查是否有拼写错误。"
  24. WScript.Quit
  25. End If
  26.  
  27. CleanFolder FolderAddress
  28.  
  29. '例程:递归删除一个文件夹内不符合规格的文件和文件夹
  30. Sub CleanFolder(Folder)
  31.  
  32. WScript.Echo "开始遍历文件夹:" & FolderAddress
  33.  
  34. Dim SubFolder, File
  35. '检查所有子文件夹
  36. For Each SubFolder In FSO.GetFolder(Folder).SubFolders
  37. WScript.Echo "发现文件夹:" & SubFolder
  38. CleanFolder SubFolder
  39. '如果文件夹为空,则删除该文件夹
  40. If FSO.GetFolder(SubFolder).Size = Then
  41. WScript.Echo "删除空文件夹:" & SubFolder
  42. FSO.DeleteFolder(SubFolder)
  43. End If
  44. Next
  45. '删除所有文件
  46. For Each File In FSO.GetFolder(Folder).Files
  47. WScript.Echo "发现文件:" & File
  48. '在这里指定要保留的文件扩展名,不属于该扩展名的文件将被删除
  49. If UCase(FSO.GetExtensionName(File.Name)) <> "H" _
  50. And UCase(FSO.GetExtensionName(File.Name)) <> "C" _
  51. And UCase(FSO.GetExtensionName(File.Name)) <> "CPP" Then
  52. WScript.Echo "删除文件:" & File
  53. FSO.DeleteFile(File)
  54. End If
  55. Next
  56.  
  57. End Sub

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

  1. 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. 理解Python装饰器

    装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓存.权 ...

  2. web.xml 的加载过程

    初始化过程: 在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>. 接着容器会创建一个Serv ...

  3. 源码解读—HashTable

    在上一篇学习过HashMap(源码解读—HashMap)之后对hashTable也产生了兴趣,随即便把hashTable的源码看了一下.和hashMap类似,但是也有不同之处. public clas ...

  4. cocos2dx音乐与音效

    // 预加载音乐和音效 SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(CCFileUtils::sharedFileUtil ...

  5. Metasploit更新

    Metasploit更新,官方放弃SVN,开始使用GIT 有一段时间没有写文章了,今天翻译一篇文章吧.以后Metasploit更新,请不要再使用下面的方法了 1 svn co https://www. ...

  6. IPTV视频基本概念

      480x320, 640x480 标清 1024x720p 高清 1920x1080i (隔行扫描) 也属于高清 1920x1080p 全高清 3840x2160,7680x4320 超(高)清 ...

  7. android 实现桌面显示内容

    //获取windowmanager 对象 WindowManager wm = (WindowManager) getApplicationContext().getSystemService(WIN ...

  8. UIUC同学Jia-Bin Huang收集的计算机视觉代码合集

    转自:http://blog.sina.com.cn/s/blog_631a4cc40100wrvz.html   UIUC的Jia-Bin Huang同学收集了很多计算机视觉方面的代码,链接如下: ...

  9. boost的线程池和内存池 智能指针

    内存池为boost自带的 #include <boost/pool/pool.hpp> 或者另外一个开源的库: nedmalloc 一个高效率的库 线程池需要下载另外一个开源库 http: ...

  10. VMware 中windows server 之DHCP 搭建与测试

    感悟: 由于打算将windows server 的服务器搭建维护从头重新学习总结一下,遇到搭建dhcp服务的时候,在虚拟机中一直测试不成功,耽误我好几星期了,一点也不夸张,心情和积极性也大大受到打击. ...