2016-07-29 24 views
0

Wie kann ich eine Datei umbenennen, die ich nicht den vollständigen Namen kenne, aber ich weiß nur, dass es mit einer Basiszeichenfolge beginnt? Ich muss eine Datei in einem Ordner umbenennen, der mit einer Standardzeichenfolge beginnt und dann zusätzliche unbekannte Zeichen enthält. Ich bin sicher, in diesem Ordner wird nur eine Datei mit dieser Zeichenfolge beginnen. Es wäre etwas wie "string * .txt" zu suchen und es mit "string.txt" umzubenennen, aber FileSystem.rename akzeptiert oldPath nicht mit "*" als Argument.VB.net FileSystem.rename - alter Pfad weiß nur einen Teilstring

+0

Gibt es im selben Ordner mehr als eine Datei arbeiten die mit der gleichen Basiszeichenfolge beginnen? – Fred

+0

nein, ich bin mir sicher, dass es nur einen @Fred geben wird –

Antwort

0
Dim _files as String() = IO.Directory.GetFiles("c:\temp\", "string*.txt") 
IO.File.Move(_files(0), "c:\temp\newfilename.txt") 

Noch braucht einige Überprüfung, ob Datei gefunden, usw., aber dies sollte

+0

Works! danke, ich muss nicht überprüfen, ich bin sicher, dass die Datei da sein wird –

0

Sie müssen alle Dateien in Ihrem angegebenen Verzeichnis durchlaufen, wenn ein Name übereinstimmt, wissen Sie, dass es sich um Ihre Datei handelt.

Struktur des Codes könnte wie folgt aussehen:

Function LookForName(Path As String) As String 
    'For Each File in your path 
     'If the name starts with "string" and ends with ".txt" 
      'You can return this filename 
End Function 

'You call LookForName with a given path 
'You rename the returned file