用Visual C#來清空回收站(1) (轉)

worldblog發表於2007-12-09
用Visual C#來清空回收站(1) (轉)[@more@]Visual 作為下一代主流的開發語言,其語言功能的強大是眾所周知的。並且又有一個內容十分豐富的程式開發包-- SDK,作為他的後盾。這樣就使得Visual C#有了一個充分發揮其本領的舞臺。Visual C#的強大功能不僅表現在支援各類的資料處理方面,還表現對和處理等方面。

  視窗操作的回收站是對檔案一種保護措施,他主要是作用是不言而喻的。在新的視窗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和的人一定知道在此類程式設計語言中,顯示提示資訊是一件多麼容易的事情。但在Visual C#中,這類操作顯然相對繁瑣些,但在靈活程度有了一定的提高。在Visual C#中,System..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 ) ; //刪除此檔案
   }
  }
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990378/,如需轉載,請註明出處,否則將追究法律責任。

相關文章