
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}