
PowerShell を使用してフォルダーに日付と時刻を追加しようとしています。フォルダー名は常に同じなので、PowerShell スクリプトの変数に保存できます。例: $myfolder = "default_folder"
get-dateとget-timeを使用して現在の日付/時刻を取得し、$file_dateと$file_timeに保存します。
Rename-Item の使用は機能しないようです。
Rename-Item "$myfolder" "$myfolder"_"$file_date"_"$file_time"
次のエラーが発生します:
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
答え1
文字列を連結した結果、default_folder の後にスペースが入りました。
❯ $myfolder = "default_folder"
❯ $file_date = "20210722"
❯ $file_time = "1157"
❯ write-host "$myfolder"_"$file_date"_"$file_time"
default_folder _20210722_1157
代わりに、名前変更引数にこれを試してください${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}