วิธีเปลี่ยนชื่อหลายไฟล์ในหลาย ๆ โฟลเดอร์ด้วยคำสั่งเดียว


11

เราต้องการเปลี่ยนชื่อ*.htmlไฟล์ของเราเป็น*.php(พอเศร้า) มีความรู้ไม่เพียงพอที่จะทำมันด้วยคำสั่ง cmd prompt และ / หรือไฟล์แบทช์

ปัญหาคือว่าแต่ละไฟล์อยู่ในโฟลเดอร์ที่แยกต่างหาก - และฉันกำลังพูดถึงชื่อโฟลเดอร์มากกว่า 750 ชื่อที่แตกต่างกัน การใช้ไวด์การ์ดสำหรับไฟล์ที่ฉันรู้คือการ* ใช้ไวด์การ์ดสำหรับโฟลเดอร์นั้นไม่เป็นที่รู้จักสำหรับฉัน เราอาจต้องใช้FORคำสั่ง (ใน Command Prompt) แต่ที่นั่นฉันติดขัดอยู่

โครงสร้างโฟลเดอร์ที่เราใช้คือ:

parent-folder / child-folder / grandchild-folder / file .html

ตัวอย่างเช่น:

  • games/A/game_name/file.html
  • games/B/game_name/file.html
  • games/C/game_name/file.html และอื่น ๆ

โฟลเดอร์พาเรนต์จะเหมือนกันสำหรับไฟล์ทั้งหมด โฟลเดอร์ child & grandchild แตกต่างกันสำหรับไฟล์ส่วนใหญ่

หลังจากเปลี่ยนชื่อไฟล์เหล่านี้เป็น*.phpฉันถือว่าต่อไปนี้ใน.htaccessจะทำการเปลี่ยนเส้นทางถาวร

RedirectMatch 301 (.*)\.html$ http://oursite.com$1.php

คำตอบ:


14

get-childItem -recurse | Where {$_.extension -eq ".html"} | rename-item -newname { $_.name -replace ".html",".php" }

สิ่งนี้จะทำงานใน PowerShell หากคุณมี Windows 7 หรือ Vista คุณควรติดตั้งไว้ตามค่าเริ่มต้น ถ้าคุณอยู่ใน XP คุณสามารถดาวน์โหลดได้ที่นี่


Soandos, Chapeau !!!!!!!!!!!! ขอบคุณมากจากด้านนี้ทำงานเหมือนมีเสน่ห์
ชาร์ลส์

@Charles หากวิธีนี้ช่วยแก้ไขปัญหาของคุณโปรดคลิกเครื่องหมายถูกเพื่อให้ทุกคนที่เห็นว่ารู้ว่ามันใช้งานได้ ยินดีต้อนรับสู่ SuperUser
soandos

3

ในบรรทัดคำสั่ง:

for /f "delims=*" %a in ('dir *.html /b /s') do ren "%a" *.php

หมายเหตุ: คุณสามารถแทนที่*.htmlสำหรับสัญลักษณ์แทนอื่น ๆ d:\www\*.htmlเช่น

หมายเหตุ 2: หากใช้คำสั่งภายในไฟล์แบตช์ให้แทนที่%aด้วย%%a(อย่าถามฉันว่าทำไม)


ทำไมคุณพูด"delims=*"?  "delims="ควรจะดีพอ (เช่นคุณระบุตัวคั่น*ทำไม
G-Man พูดว่า 'Reinstate Monica'

1

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

http://download.cnet.com/Flexible-Renamer/3000-2248_4-28799.html



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