Saya menggunakan logika yang sama dengan yang saya gunakan untuk mengganti nama tetapi mengalami kesulitan untuk membuatnya berfungsi, apakah kegagalan berfungsi karena konvensi penamaan? Contoh file: namafile.xxxx.xx_xxx (2).jpg Diharapkan ...

0
Garrett 5 April 2021, 17:15

2 jawaban

Jawaban Terbaik

Anda harus keluar dari tanda kurung, mereka adalah karakter khusus.

foreach($x in $toRename)
{
    Rename-Item -Path $x.FullName -NewName ($x.Name -replace "\s\(2\)")
}
1
Santiago Squarzon 5 April 2021, 14:28

Anda tidak dapat menggunakan $_ di foreach Anda tetapi $x.

  1. Gunakan "foreach"
$toRename = Get-ChildItem ".\files"
foreach($x in $toRename){
    $x | Rename-Item -NewName { $x.Name.Replace(" (2)", "") }
}
  1. Gunakan ForEach-Object
Get-ChildItem ".\files"  | ForEach-Object { Rename-Item -Path $_ -NewName $_.Name.Replace(" (2)", "") }
1
Damien 5 April 2021, 14:28