2012-12-20 58 views
1

我是在VS2010中編寫我的第一個VB應用程序的新手程序員。我正在處理包含多個XML文件的目錄。我已經編寫了一些將.xml文件擴展名轉換爲.txt的代碼,這是我的應用程序的意圖,但是,我不確定如何指定此代碼執行的條件。我真正想要達到的目標是讓我的應用程序循環遍歷整個目錄,並將文件擴展名僅更改爲包含特定文本字符串的XML文件,如其中一個XML節點中的「TEST FILE」。 XML模式都是相同的,文件都相對較小(每個文件在2個012kb之間),但是在我的目標目錄中有幾千個文件。有關我如何完成此任務的任何提示/建議?這是我迄今爲止的代碼。謝謝!如何重命名包含特定文本字符串的文件?

Dim [option] As SearchOption = SearchOption.AllDirectories 
    [option] = SearchOption.AllDirectories 
    Dim files As String() 
    files = Directory.GetFiles("U:\Primitive_XMLs", "*.xml", [option]) 
    Dim filepath_new As String 
    For Each filepath As String In files 

     filepath_new = filepath.Replace(".xml", ".txt") 
     System.IO.File.Move(filepath, filepath_new) 
    Next 
+0

什麼是你的問題?該代碼完成任務。 –

回答

0

如果這些文件是小,你不需要指定某個節點(例如字符串的文件的任何地方存在,就足以保證移動它),你可以試試下面的

Dim mustContain As String = "TEST FILE" 
    Dim files As String() = IO.Directory.GetFiles("U:\Primitive_XMLs", "*.xml", IO.SearchOption.AllDirectories) 
    For Each filepath As String In files 
     If IO.File.ReadAllText(filepath).Contains(mustContain) Then 
      IO.File.Move(filepath, filepath.Replace(".xml", ".txt")) 
     End If 
    Next 

如果需要指定此字符串可以發現(例如,僅在第三個節點包含其移動文件),那麼你需要解析的文件,使用類似XmlReader類

+0

像魅力一樣工作。非常感謝!節日快樂 – user1892604

相關問題