视窗操作系统的回收站是对文件一种保护措施,他主要是作用是不言而喻的。在新的视窗2000系统之中,当我把文件删除到回收站中以后,按动"清空回收站"按钮,想清空回收站,此时往往提示"某某文件夹不为空,无法删除"的信息。所以只好全部恢复,然后到要删除的文件夹中,先删除里面的文件,后删除文件夹,这样才可以清空回收站。但这给我们操作系统带来了烦恼。本文就是利用Visual C#在处理文件方面的强大功能,来做一个软件,利用此软件来清空回收站里面的要删除的文件,从而解除这种烦恼。

  一.程序设计的主要思想

  我们知道视窗系统是把我们将要删除的文件信息都临时保存在"C:Recycled"目录下面。在通过"清空回收站"按钮来彻底此目录下的要删除的文件的。本程序的主要思路就是根据以上知识得来的。具体说明如下:

  (1).首先判断C盘根目录下面的"Recycled"目录是否为空。

  (2).如果不为空的话,就遍历所有文件信息,并删除文件。

  二.程序设计和运行环境

  (1).视窗系统2000专业版本

  (2)..Net FrameWork SDK Beta 2 
三.程序设计的主要步骤和具体解释
  (1).如何判断C盘根目录下面的"Recycled"目录是否为空。

  要判断"C:Recycled"目录中是否有文件信息,要经过二个步骤,首先要确定找到此目录。其次才能够判断此目录是否为空。下面就按照这二个步骤来分别做具体介绍:

  i>.如何在程序中找到"C:Recycled"目录。

  在.Net FrameWork SDK中封装了一个名称空间--System.IO。此名称空间中定义了许多与文件和目录处理相关的类、对象、属性和方法。Visual C#就是通过灵活调用这些资源来实现对文件和目录的具体操作的。本文中主要用到此名称空间中的二个类:Directory类和File类。前者在程序中主要用来处理和目录相关的操作的,如确定目录和获得目录中的文件信息。后者在程序中主要用来处理和文件相关的操作的,如删除文件。在程序中用到Directory类中的GetFiles ( "目录名称")方法,此方法的返回的是一个枚举型,此枚举型是由一组字符串组成。GetFiles()方法是把在目录中的每个文件名称都形成一个字符串,然后由这些字符串组成形成一个枚举类型。

  ii>.判断此目录是否为空。

  在此要介绍一下foreach语句,Visual C#是通过此语句来收集枚举的。在本文中是通过他来列举出在"C:Recycled"存在的所有被删除的文件信息的。

int c = 0 ; // 定义此变量主要是来判断目录中是否有文件 foreach ( string s1 in Directory.GetFiles ( "c:\recycled" ) ) // 返回文件名称字符串行时的枚举类型 {  ++c ; } if ( c > 0 ) //判断是否存在文件如果 c > 0则回收站有文件,反之则没有 {  ….. }

  (2).如果"C:Recycled"目录中不为空的话,就遍历目录中的所有文件信息,并删除文件。

  在本段落里面要介绍一下MessageBox类的用法。用过VB和Delphi的人一定知道在此类程序设计语言中,显示提示信息是一件多么容易的事情。但在Visual C#中,这类操作显然相对繁琐些,但在灵活程度有了一定的提高。在Visual C#中,System.Windows.Forms名称空间中封装了一个MessageBox的类,在此类中又定义了与显示提示信息相关的一些方法(Show方法)、对象和属性。在本程序中就有关于MessageBox类的具体介绍。

  要删除磁盘上的文件就要使用到名称空间System.IO中File类的Delete ( )方法。Delete ( )方法后面跟的参数是文件所在磁盘的全路径名称。要获得文件的全路径名称,就还要使用到foreach语句,程序中就是foreach语句来从一个包含所有文件全路径名称的枚举类型中获得文件的全路径名称的。具体实现语句如下:

if ( c > 0 ) // 判断"C:Recycled"目录中是否存在文件信息 {  DialogResult r = MessageBox.Show ( "是否确定?" , "垃圾处理!" ,           MessageBoxButtons.YesNo , MessageBoxIcon.Question ) ;  // 显示"确定"和"取消"二个按钮,图标显示是一个问号。  int ss=(int)r ;  if ( ss==6 ) // 按动确定按钮   { foreach ( string s in Directory.GetFiles ( "c:\recycled" ) )     // 把全路径名称房子 s中    {     File.Delete ( s ) ; //删除此文件    }   } }

三.程序设计的主要步骤和具体解释
  (1).如何判断C盘根目录下面的"Recycled"目录是否为空。

  要判断"C:Recycled"目录中是否有文件信息,要经过二个步骤,首先要确定找到此目录。其次才能够判断此目录是否为空。下面就按照这二个步骤来分别做具体介绍:

  i>.如何在程序中找到"C:Recycled"目录。

  在.Net FrameWork SDK中封装了一个名称空间--System.IO。此名称空间中定义了许多与文件和目录处理相关的类、对象、属性和方法。Visual C#就是通过灵活调用这些资源来实现对文件和目录的具体操作的。本文中主要用到此名称空间中的二个类:Directory类和File类。前者在程序中主要用来处理和目录相关的操作的,如确定目录和获得目录中的文件信息。后者在程序中主要用来处理和文件相关的操作的,如删除文件。在程序中用到Directory类中的GetFiles ( "目录名称")方法,此方法的返回的是一个枚举型,此枚举型是由一组字符串组成。GetFiles()方法是把在目录中的每个文件名称都形成一个字符串,然后由这些字符串组成形成一个枚举类型。

  ii>.判断此目录是否为空。

  在此要介绍一下foreach语句,Visual C#是通过此语句来收集枚举的。在本文中是通过他来列举出在"C:Recycled"存在的所有被删除的文件信息的。

int c = 0 ; // 定义此变量主要是来判断目录中是否有文件 foreach ( string s1 in Directory.GetFiles ( "c:\recycled" ) ) // 返回文件名称字符串行时的枚举类型 {  ++c ; } if ( c > 0 ) //判断是否存在文件如果 c > 0则回收站有文件,反之则没有 {  ….. }

  (2).如果"C:Recycled"目录中不为空的话,就遍历目录中的所有文件信息,并删除文件。

  在本段落里面要介绍一下MessageBox类的用法。用过VB和Delphi的人一定知道在此类程序设计语言中,显示提示信息是一件多么容易的事情。但在Visual C#中,这类操作显然相对繁琐些,但在灵活程度有了一定的提高。在Visual C#中,System.Windows.Forms名称空间中封装了一个MessageBox的类,在此类中又定义了与显示提示信息相关的一些方法(Show方法)、对象和属性。在本程序中就有关于MessageBox类的具体介绍。

  要删除磁盘上的文件就要使用到名称空间System.IO中File类的Delete ( )方法。Delete ( )方法后面跟的参数是文件所在磁盘的全路径名称。要获得文件的全路径名称,就还要使用到foreach语句,程序中就是foreach语句来从一个包含所有文件全路径名称的枚举类型中获得文件的全路径名称的。具体实现语句如下:

if ( c > 0 ) // 判断"C:Recycled"目录中是否存在文件信息 {  DialogResult r = MessageBox.Show ( "是否确定?" , "垃圾处理!" ,           MessageBoxButtons.YesNo , MessageBoxIcon.Question ) ;  // 显示"确定"和"取消"二个按钮,图标显示是一个问号。  int ss=(int)r ;  if ( ss==6 ) // 按动确定按钮   { foreach ( string s in Directory.GetFiles ( "c:\recycled" ) )     // 把全路径名称房子 s中    {     File.Delete ( s ) ; //删除此文件    }   } }

用Visual C#来清空回收站(1)的更多相关文章

  1. 用Visual C#来清空回收站(2)

    四.程序的源代码(recycled.cs).编译方法及运行后的界面: (1).程序的源代码:recycled.cs: using System.IO ; using System.Windows.Fo ...

  2. EmptyRecycle() 清空回收站

    //在uses下面引用 function SHEmptyRecycleBinA(Wnd:HWND;str:PChar;WRD:DWORD):Integer;stdcall; external 'SHe ...

  3. linux 命令行字符终端terminal下强制清空回收站

    回收站其实就是一个文件夹,存放被删掉的文件. ubuntu 回收站的路径: $HOME/.local/share/Trash/ 强制清空回收站: rm -fr $HOME/.local/share/T ...

  4. ubuntu创建、删除文件及文件夹,强制清空回收站方法

    mkdir 目录名         => 创建一个目录 rmdir 空目录名      => 删除一个空目录 rm 文件名 文件名   => 删除一个文件或多个文件 rm –rf 非 ...

  5. (转载)ubuntu创建、删除文件及文件夹,强制清空回收站方法

    mkdir 目录名         => 创建一个目录 rmdir 空目录名      => 删除一个空目录 rm 文件名 文件名   => 删除一个文件或多个文件 rm –rf 非 ...

  6. ( 转)Ubuntu下创建、重命名、删除文件及文件夹,强制清空回收站方法

    Ubuntu下创建.重命名.删除文件及文件夹,强制清空回收站方法 mkdir 目录名 ——创建一个目录 rmdir 空目录名 ——删除一个空目录 rm 文件名 文件名 ——删除一个文件或多个文件 rm ...

  7. Linux下无法清空回收站

    清空回收站发生错误,直接使用命令 sudo rm -rf ~/.local/share/Trash/files/* 搞定

  8. 在Ubuntu17.04中遇到无法清空回收站解决方法

    在Ubuntu17.04下,遇到清空回收站文件时报错,提示”Failed to delete the item from the trash”,无法清空回收站. 回收站其实就是一个文件夹,存放着被删掉 ...

  9. hdfs清空回收站

    1. 直接删除目录(不放入回收站) hdfs dfs -rm -skipTrash /usr/tmp/log/ 2. 清空回收站 hdfs dfs -expunge

随机推荐

  1. hdu 1507 记录路径的二分匹配 **

    题意:N*M的矩形,向其中填充1*2的小块矩形,黑色的部分不能填充,问最多可以填充多少块.链接:点我 黑白棋最大匹配 将棋盘中i+j为奇数的做A集合,偶数的做B集合,相邻的则建立联系.于是便转换成寻找 ...

  2. AMD K7以来核心架构一览表

    转载或拿走使用请注明出处,谢谢! 注:K10以前AMD的CPU型号主要用PR值标称,故此表中未表示其准确型号

  3. JAVA初学练手项目,学生管理系统

    github地址:https://github.com/qscqesze/StudentManager 简单描述一下: UI层面用于接受用户的处理信息,然后移交给StudentDao去处理数据. 其中 ...

  4. 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem I. Plugs and Sockets 费用流

    Problem I. Plugs and Sockets 题目连接: http://www.codeforces.com/gym/100253 Description The Berland Regi ...

  5. Programming Internal Flash Over the Serial Wire Debug <SWD> Interface -- EFM32

    1 Debug Interface Overview 1.1 Serial Wire Debug Serial Wire Debug (SWD) is a two-wire protocol for ...

  6. DOM对象之document对象

    DOM对象:当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. 打开网页后,首先看到的是浏览器窗口,即顶层的win ...

  7. 利用阿里云提供的镜像快速更换本地的yum源

    打开网页:http://mirrors.aliyun.com/ 从“ 文件列表 ”找到自己的系统: Mirror Last update Help CPAN 2015-07-15 15:36:50   ...

  8. 学一点 MYSQL 双机异地热备份—-MYSQL主从,主主备份原理及实践

    简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做 ...

  9. 源码编译Tkinter

    要让Python支持Tkinter, 需要首先安装tcl和tk两个软件包. 下载地址: http://www.tcl.tk/software/tcltk/download.html 或 tcl:htt ...

  10. 让AngularJS的controllers之间共享数据

    如何让controller之间共享数据呢?大致是让不同controller中的变量指向同一个实例. 通过service创建一个存放共享数据的对象. .service("greeting&qu ...