Ini semua tidak praktis - jawaban lainnya jauh lebih cepat dan lebih pendek - tetapi ...
Anda dapat menggunakan PowerShell! Microsoft membuka-sumbernya baru-baru ini dan membuatnya lintas platform. Untuk unduhan dan instruksi instalasi untuk OS Anda, lihat bagian "Dapatkan PowerShell" .
Setelah Anda menginstalnya, Anda dapat menggunakan skrip singkat ini:
Get-ChildItem -File '*]*.avi' | ForEach-Object {
Rename-Item $_ -NewName (($_.Name -Split ']')[0] + '.avi')
}
Pada dasarnya, ia melewati setiap objek dalam direktori saat ini yang merupakan file yang cocok *]*.avi
, mendapatkan bagian sebelum braket, mengemasnya .avi
kembali, dan menetapkan itu sebagai nama baru.
Untuk menjalankannya langsung dari Bash, gunakan one-liner semi-golfed ini:
powershell -command $'gci -File \'*]*.avi\'|%{rename-item $_ -NewName (($_.Name -Split \']\')[0]+\'.avi\')}'
Kutipan yang keluar dari jawaban Stack Overflow ini .
(Diuji di Bash di Ubuntu pada Windows. Mungkin ada cara yang jauh lebih singkat untuk melakukannya dengan PowerShell, tapi saya ingin menunjukkan sesuatu yang dapat dipahami oleh orang-orang yang tidak tahu ekspresi reguler.)
krename
itu indah. Ini memiliki segala macam opsi yang kuat dan menunjukkan kepada Anda apa yang akan dilakukan sebelum benar-benar melakukannya. Anda bahkan bisa menggunakannya untuk menguji pola yang bisa Anda gunakan di bash nanti.