
我正在嘗試使用 powershell 將日期和時間附加到資料夾中。假設資料夾名稱始終相同,因此我可以將其儲存在 Power shell 腳本中的變數中。例如:$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}