นี่เป็นสิ่งที่ทำไม่ได้ทุกอย่าง - คำตอบอื่น ๆ นั้นเร็วกว่าและสั้นกว่ามาก - แต่ ...
คุณสามารถใช้ PowerShell! Microsoft เปิดแหล่งที่มาเมื่อเร็ว ๆ นี้และทำให้เป็นข้ามแพลตฟอร์ม สำหรับการดาวน์โหลดและคำแนะนำสำหรับการติดตั้งระบบปฏิบัติการของคุณให้ดูส่วน "รับ PowerShell"
เมื่อคุณติดตั้งแล้วคุณสามารถใช้สคริปต์สั้น ๆ นี้:
Get-ChildItem -File '*]*.avi' | ForEach-Object {
Rename-Item $_ -NewName (($_.Name -Split ']')[0] + '.avi')
}
โดยทั่วไปมันจะผ่านแต่ละวัตถุในไดเรกทอรีปัจจุบันที่เป็นการจับคู่ไฟล์*]*.avi
รับส่วนก่อนวงเล็บปีกกา tacks .avi
กลับมาและกำหนดว่าเป็นชื่อใหม่
หากต้องการเรียกใช้โดยตรงจาก Bash ให้ใช้สายการบินเดียวแบบซับ - กอล์ฟ:
powershell -command $'gci -File \'*]*.avi\'|%{rename-item $_ -NewName (($_.Name -Split \']\')[0]+\'.avi\')}'
พูดหลบหนีมารยาทของคำตอบนี้กองมากเกิน
(ทดสอบใน Bash บน Ubuntu บน Windows อาจมีวิธีที่สั้นกว่ามากในการทำกับ PowerShell แต่ฉันต้องการแสดงสิ่งที่เข้าใจได้สำหรับผู้ที่ไม่รู้จักการแสดงออกปกติ)
krename
น่ารัก มันมีตัวเลือกที่ทรงพลังทุกประเภทและแสดงให้คุณเห็นว่ามันจะทำอะไรก่อนที่มันจะทำ คุณสามารถใช้มันเพื่อทดสอบรูปแบบที่คุณสามารถใช้ในการทุบตีในภายหลัง