Powershell-Datum in Dateinamen schreiben?
Hallo,
Wie kann ich mit Powershell in eine Datei einen Namen plus das aktuelle Datum schreiben lassen?
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
PC, Computer, programmieren
dann lass uns mal etwas mit dem Zeit-Objekt herumspielen....
Das Script führt einmal eine Datei Namens Test.txt , an welche jeweils die Startzeit des Skripts und der Namen angehängt wird.
Das schöne dabei, die Datei kann in andere Programme importiert werden (CSV)
Die zweite Datei ist quasi das Gleiche, nur enthält der DateiName ein Zeitstempel.
#Zeit einlesen, wie sie ist ist. (Powershell ist Objektorientiert! $MyTime ist kein String sondern ein Zeit-Object!)
#siehe https://www.msxfaq.de/code/powershell/psdatetime.htm
$MyTime=Get-Date
#in sortierbaren String umwandeln Microsekundengenau
$TimeStamp=$MyTime.tostring("yyyymmddHHmmssffff")
#hübsch lesbarer KalenderString
$TimeString=$MyTime.tostring("dddd dd.mm.yyyy HH:mm:ss_ffff")
"TimeString=$TimeString"
"Timstamp=$TimeStamp"
$name = "TESTNAME"
#das ganzer in ein hübsches kleines Objectchen umwandeln
$myHash=New-Object PsObject -property @{ Name=$Name;Time=$TimeString}
#...und als CSV Datensatz an eine Datei anhängen (csv konnen mit jeder gängigen Datenbank-/Tabellencalculationssoftware importiert werden!)
$myHash|Export-Csv "test.txt" -NoTypeInformation -Append
#dito in eine eigene Datei mit einem sortierbaren Zeitstempel im Dateinamen....
$myHash|Export-Csv "test_$TimeStamp.txt" -NoTypeInformation
pause
- https://www.msxfaq.de/code/powershell/psdatetime.htm
- https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/export-csv?view=powershell-7
- https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/new-object?view=powershell-7
- https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.psobject?view=pscore-6.2.0
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
PC, Computer
$zeit = get-date
$name = "TESTNAME"
out-file ="$Pfad\test.txt" -inputObject $zeit, $name
So in der Art
Und kann ich damit auch die Zeit/Datum in den Dateinamen schreiben?