2015-05-14 55 views
0

我收到了一個用於重命名文件夾內文件的小程序。 在這一點上它幾乎工作;唯一存在的問題是我希望程序按名稱按字母順序重命名文件。這是我現在的腳本:按名稱按時間順序重命名文件夾內的文件

If TextBox4.Text = "" Or txtbSti.Text = "" Or ComboBox3.Text = "" Then 
    MsgBox("Du må velge målmappe og Oppdatere Ønsket Output!", MsgBoxStyle.OkOnly, "Ooooops!") 

Else 
    Dim AntallFiler = My.Computer.FileSystem.GetFiles(txtbSti.Text) 
    Dim antall As Integer = CStr(AntallFiler.Count) 
    Dim dir = txtbSti.Text 
    Dim type = TextBox4.Text 


    Dim sourcePath As String = dir 
    Dim searchPattern As String = "*." & ComboBox3.Text 
    Dim i As Integer = 1 
    For Each fileName As String In Directory.GetFiles(sourcePath, searchPattern, SearchOption.AllDirectories) 
     File.Move(Path.Combine(sourcePath, fileName), Path.Combine(sourcePath, type & i & "." & ComboBox3.Text)) 
     i += 1 
    Next 


End If 

回答

0

「按名稱按時間順序排列」沒有意義...我假設您的意思是按名稱排序。

如果是的話,試試這個:

 Dim list as New List(of string) 
     list.AddRange(Directory.GetFiles(sourcePath, searchPattern, SearchOption.AllDirectories)) 
     list.Sort(); 

然後枚舉列表。

 For Each fileName As String In List 
     Next 
+0

按名稱排序是正確的,道歉我的壞英語。但沒有一種方法可以在這一行中按名稱對它進行排序「For Each fileName As String In Directory.GetFiles(sourcePath,searchPattern,SearchOption.AllDirectories)」?希望它儘可能簡單。 – Freshman

+0

不,不是真的......數組沒有排序,列表排序是一個就地方法 –

+0

明白它與你的方法一起工作,謝謝你:)有一個美好的一天:)! – Freshman

相關問題