วิธีง่าย ๆ ในการเปลี่ยนชื่อไฟล์ทั้งหมดในไดเรกทอรีใน Windows [ปิด]


9

มีวิธีง่าย ๆ ในการเปลี่ยนชื่อไฟล์ทั้งหมดในไดเรกทอรีหรือไม่? PowerShell เป็นวิธีที่จะไปไหม?

ฉันต้องการไปจากนี้:

c:\family_pics\
   img123.jpg
   img124.jpg

สำหรับสิ่งนี้:

c:\family_pics\ 
   family_pics_1.jpg 
   family_pics_2.jpg

เป็นการดีที่ฉันต้องการเรียกใช้สคริปต์ในไดเรกทอรีที่จะเปลี่ยนชื่อไฟล์ทั้งหมดตามชื่อไดเรกทอรีปัจจุบันในขณะที่รักษานามสกุลและจะเดินทรีไดเรกทอรีซ้ำ

คำตอบ:


16

บนพื้นฐานที่ทุกอย่างสามารถทำได้ในหนึ่งบรรทัดของ PowerShell (เช่นเดียวกับทุกสิ่งที่สามารถทำได้ใน 1 บรรทัดของ Perl) นี่คือรหัส PS สำหรับไดเรกทอรีเดียว

$i=0; get-childitem $dirname | foreach-object {

       rename-item "$dirname\$_" $("{0}_{1}{2}" -f $dirname, ++$i, $_.Extension)
}

หากต้องการทำซ้ำคุณจะต้องใส่คำสั่งข้างต้นในฟังก์ชั่นจากนั้นเรียกมันบนทุกไดเรกทอรีในทรีของคุณ คุณสามารถแทนที่สตริงรูปแบบด้วยสิ่งที่ซับซ้อนกว่านี้เล็กน้อยหากคุณต้องการใช้ regexes


10

นี่มันค่อนข้างแฮ็ก แต่ฉันทำมานานกว่า 12 ปีแล้วและฉันก็ค่อนข้างเร็ว:

  • เปิดพรอมต์คำสั่งใน c: \ family_pics และพิมพ์ dir >> dir.xls
  • เปิดไฟล์ dir.xls ใน Excel
  • ไฮไลต์คอลัมน์แรกเลือก "Text to Columns" และเพิ่มตัวแบ่งคอลัมน์ในอักขระช่องว่าง (ละเว้นการทำซ้ำ)
  • ตอนนี้คุณมีตารางที่ดีกับชื่อไฟล์ปัจจุบันขนาดไฟล์ของคุณ ฯลฯ
  • เพิ่มคอลัมน์ใหม่ "ren" หน้าชื่อไฟล์
  • เพิ่มคอลัมน์ใหม่หลังชื่อไฟล์และใช้ฟังก์ชัน Excel ที่คุณต้องการสร้างชื่อไฟล์ใหม่ ในกรณีของคุณถ้าคุณพิมพ์ชื่อไฟล์สองชื่อแรกจากนั้นคลิกสองครั้งที่มุมด้านล่างขวาของเซลล์ Excel จะตรวจหารูปแบบโดยอัตโนมัติและสร้างชื่อที่เหลือ
  • บันทึกเป็น ren.bat
  • เรียกใช้ไฟล์แบตช์ที่คุณเพิ่งสร้างขึ้นและจะเปลี่ยนชื่อไดเรกทอรีทั้งหมดของคุณ

แม้ว่ามันอาจจะไม่ชัดเจนในทันที แต่ Excel นั้นเหมาะกับงานประเภทนี้มากเพราะคุณสามารถใช้สูตรชนิดใดก็ได้ที่คุณต้องการสร้างไฟล์ใหม่โดยใช้อินพุตจากไฟล์ที่มีอยู่ (เวลาประทับชื่อไฟล์ขนาด ฯลฯ ) )


Excel เป็นตัวสร้างโค้ด / สคริปต์ที่ดีที่สุดที่ฉันรู้จัก
GvS

3

แม้ว่าคุณจะสามารถทำสิ่งต่าง ๆ ด้วยแบทช์ไฟล์ฉันพบว่ามีตัวควบคุมเพิ่มเติมตัวเลือก ฯลฯ และภาพที่แสดงให้เห็นว่าสิ่งที่กำลังจะเกิดขึ้นนั้นดีกว่า

มีเครื่องมือฟรีที่ชื่อว่า CKRename ไซต์ของผู้แต่งดั้งเดิมดูเหมือนว่าจะหายไป แต่แอปทำงานได้อย่างสมบูรณ์และเป็นที่นิยมมาก (ฉันใช้งานมา 8 ปีแล้ว) ดาวน์โหลด CKRename

นี่คือภาพหน้าจอของอุปกรณ์ที่ใช้งานจริง ป้อนคำอธิบายรูปภาพที่นี่


1

คุณสามารถเน้นทุกสิ่งที่คุณต้องการใน explorer จากนั้นคลิกขวาที่อันแรกและเปลี่ยนชื่อมันแล้ว windows จะเปลี่ยนชื่อพวกเขาทั้งหมดให้คุณด้วยแบบแผนการตั้งชื่อแบบเดียวกัน


เพิ่งลองมันเริ่มต้นด้วย fileA.m, fileB.m เป็นต้น Istead ของ fileA_001.m, fileB_002.m แทนที่จะได้ fileA_001.m, fileA_001 (1) .m, fileA_001 (2) .m ฯลฯ
jacobsee

1

ReNamer: http://www.den4b.com/

โปรดดูเพิ่มเติมที่: วิธีการเปลี่ยนชื่อส่วนของชื่อไฟล์จากการเลือกไฟล์ใน Windows

วางโฟลเดอร์ของคุณด้วยรูปภาพลงใน ReNamer (โฟลเดอร์ย่อยจะถูกเพิ่มซ้ำตามค่าเริ่มต้น) คลิกที่คอลัมน์ชื่อเพื่อจัดเรียงตามชื่อไฟล์ถ้าคุณต้องการรักษาลำดับ เมตาแท็กพิเศษจะช่วยให้คุณใช้ชื่อโฟลเดอร์หลักสำหรับการเปลี่ยนชื่อ ใช้กฎการเปลี่ยนชื่อต่อไปนี้:

  1. ลบจากตำแหน่ง 1 จนถึงจุดสิ้นสุด (ข้ามส่วนขยาย)
  2. แทรก ": File_FolderName: _" เป็นคำนำหน้า (ข้ามส่วนขยาย)
  3. ลำดับที่เพิ่มขึ้นจาก 1 ขั้นตอน 1 ซ้ำ 1 เป็นคำต่อท้าย (ข้ามส่วนขยาย)

ป้อนคำอธิบายรูปภาพที่นี่


+1 การเปลี่ยนชื่อยอดเยี่ยมมาก!
Chris Marisic


0

ดาวน์โหลด RenameFiles (ฟรีแวร์) เป็นหนึ่งในโปรแกรมเดียวที่ฉันพลาดไปตั้งแต่ฉันเปลี่ยนจาก Windows เป็น Apple

ดูเหมือนว่ามีให้ที่นี่http://it-falke.com/software/renamefiles/us_description.phpแต่ฉันไม่มีพีซีที่จะทดสอบลิงก์นั้น รุ่นล่าสุดที่ฉันใช้คือ 2.1.4 มันง่ายจริงๆ แต่หลากหลาย


0

สิ่งนี้จะตัดอักขระสี่ตัวสุดท้าย

dir *.jpg | % { ren $_.Name $_.Name.Substring(0,$_.Name.Length-4) }

คุณอาจต้องปรับเปลี่ยนด้านบนเพื่อจัดการช่องว่างหรือข้อกำหนดการเปลี่ยนชื่อเฉพาะของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.