Powershell で日付と時刻を含むフォルダー名を追加する

Powershell で日付と時刻を含むフォルダー名を追加する

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}

関連情報