Powershell fügt Ordnernamen mit Datum und Uhrzeit an

Powershell fügt Ordnernamen mit Datum und Uhrzeit an

Ich versuche, mit Powershell Datum und Uhrzeit an einen Ordner anzuhängen. Nehmen wir an, der Ordnername ist immer derselbe, sodass ich ihn in einer Variablen in meinem Powershell-Skript speichern kann. Beispiel: $myfolder = „default_folder“

Ich verwende get-date und get-time, um das aktuelle Datum/die aktuelle Uhrzeit zu finden und in $file_date und $file_time zu speichern

Die Verwendung von „Rename-Item“ scheint nicht zu funktionieren.

Rename-Item "$myfolder" "$myfolder"_"$file_date"_"$file_time"

Ich erhalte die folgende Fehlermeldung:

Rename-Item : A positional parameter cannot be found that accepts argument '_20210722_1157'.
At line:1 char:1
+ Rename-Item "$myfolder" "$myfolder"_"$file_date"_"$file_time"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Rename-Item], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Com

Antwort1

Durch die Art und Weise, wie Sie die Zeichenfolgen verkettet haben, entstand nach „default_folder“ ein Leerzeichen:

❯ $myfolder = "default_folder"
❯ $file_date = "20210722"
❯ $file_time = "1157"
❯ write-host "$myfolder"_"$file_date"_"$file_time"
default_folder _20210722_1157

Versuchen Sie stattdessen dies für Ihr Umbenennungsargument${myfolder}_${file_date}_${file_time}

❯ write-host ${myfolder}_${file_date}_${file_time}
default_folder_20210722_1157

Rename-Item -Path ${myfolder} -NewName ${myfolder}_${file_date}_${file_time}

verwandte Informationen