2017-04-08 1 views
0

Run folgenden Code und sieht, dass Sie Textdatei auf dem Desktop mit dem Namen haben MyLogFile 08.04.2017Stream Text Dateiname muss Folgendes enthalten Stunde, Minute und Sekunde

Dim Log As System.IO.StreamWriter 
    Log = My.Computer.FileSystem.OpenTextFileWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\MyLogFile " & System.DateTime.Now.Date.ToString("dd/MM/yyyy") & ".txt", False) 
    Log.WriteLine("Hello") 
    Log.Close() 

Ich wollte Dateinamen von MyLogFile 08.04.2017 zu MyLogFile 08.04.2017 07:50:59 ändern, aber es ist nicht möglich, da : nicht erlaubt ist.

Jetzt möchte ich den Dateinamen von MyLogFile 08.04.2017 zu MyLogFile 08.04.2017 07.50.59 dank Ihrer Unterstützung ändern.

Antwort

0

Sie könnten tun:

Dim Folder As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) 
Dim FileName As String = "MyLogFile " & DateTime.Now.ToString("dd.MM.yyyy HH.mm.ss") & ".txt" 
Dim Log As System.IO.StreamWriter 
Log = My.Computer.FileSystem.OpenTextFileWriter(System.IO.Path.Combine(Folder, FileName), False) 
Log.WriteLine("Hello") 
Log.Close() 
+0

Wenn ich diesen Code morgens Stunde Shows laufen '07'. Wenn ich diesen Code abends abspiele zeigt sich wieder '07'. Aber ich will '07' morgens,' 19' abends. Möglich? –

+0

Ja, ändere 'hh' in' HH'. Siehe [Benutzerdefinierte Formatstrings für Datum und Uhrzeit] (https://docs.microsoft.com/en-us/dotnet/articles/standard/base-types/custom-date-and-time-format-strings?view=netframework- 4.7) für weitere Details. –

+0

Vielen Dank. –

3

Ich würde dringend empfehlen, wenn Sie Datum und Uhrzeit in Datei- und Ordnernamen einschließen, dass Sie von höchst signifikant zu am wenigsten signifikant gehen. Der Grund dafür ist, dass die alphabetische und die chronologische Reihenfolge übereinstimmen. Ich persönlich nicht verwenden Separatoren überhaupt, so dass wäre:

Log = My.Computer.FileSystem.OpenTextFileWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), 
                  String.Format("MyLogFile.{0:yyyyMMddHHmmss}.txt", 
                      Date.Now), 
               False) 

Wenn Sie wirklich wollen es Ihren Weg dann wäre es:

Log = My.Computer.FileSystem.OpenTextFileWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), 
                  String.Format("MyLogFile {0:dd.MM.yyyy HH.mm.ss}.txt", 
                      Date.Now), 
               False) 

Sie einfach das Format ändern Spezifizierer als erforderlich.

Verwandte Themen