ค้นหาเว็บไซต์

PowerShell: วิธีทำให้ตัวอักษรตัวแรกของชื่อไฟล์แต่ละชื่อเป็นตัวพิมพ์ใหญ่


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

คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:

gci | foreach {
$NewName = (Get-Culture).TextInfo.ToTitleCase($_); ren $_.FullName $NewName}

ตัวอย่างนี้จะใช้ตัวอักษรตัวแรกของชื่อไฟล์แต่ละชื่อในไดเร็กทอรีปัจจุบันเป็นตัวพิมพ์ใหญ่

นี่คือสิ่งที่คำสั่งต่างๆ ทำ:

  • gci: นามแฝงสำหรับ Get-ChildItem ซึ่งจะดึงไฟล์ทั้งหมดในไดเรกทอรีปัจจุบัน
  • foreach: ระบุการดำเนินการที่จะดำเนินการกับแต่ละไฟล์
  • (Get-Culture).TextInfo.ToTitleCase($_): กำหนดชื่อไฟล์ใหม่ให้เป็นชื่อปัจจุบัน แสดงเป็นตัวพิมพ์หัวเรื่อง ซึ่งใช้อักษรตัวแรกของแต่ละคำในชื่อไฟล์เป็นตัวพิมพ์ใหญ่
  • ren: นามแฝงสำหรับ Rename-Item ซึ่งจะเปลี่ยนชื่อไฟล์โดยใช้ชื่อใหม่

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: ทำให้อักษรตัวแรกของชื่อไฟล์แต่ละชื่อเป็นตัวพิมพ์ใหญ่ใน PowerShell

ขั้นแรก เราสามารถใช้คำสั่ง gci (นามแฝงสำหรับ Get-ChildItem cmdlet) เพื่อดูชื่อไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบันของเราก่อน:

เราจะเห็นว่ามีไฟล์สามไฟล์ในไดเร็กทอรีปัจจุบันซึ่งทั้งหมดมีชื่อไฟล์ตัวพิมพ์เล็ก

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำให้อักษรตัวแรกของแต่ละชื่อไฟล์เป็นตัวพิมพ์ใหญ่:

gci | foreach {
$NewName = (Get-Culture).TextInfo.ToTitleCase($_); ren $_.FullName $NewName}

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:

โปรดสังเกตว่าเมื่อเราใช้คำสั่ง gci อีกครั้งเพื่อดูไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบันที่อักษรตัวแรกของแต่ละชื่อไฟล์เป็นตัวพิมพ์ใหญ่

หมายเหตุ: คุณสามารถดูเอกสารฉบับสมบูรณ์สำหรับวิธี ToTitleCase() ได้ที่นี่

บทความที่เกี่ยวข้อง