PowerShell เปลี่ยนชื่อรายการ | กระบวนการเปลี่ยนชื่อรายการใน Power Shell
ข้อมูลเบื้องต้นเกี่ยวกับการเปลี่ยนชื่อรายการ PowerShell
cmdlet การเปลี่ยนชื่อรายการใน PowerShell จะเปลี่ยนชื่อรายการ เช่น ไฟล์ โฟลเดอร์ รีจิสทรี ใบรับรอง ฯลฯ cmdlet นี้จะเปลี่ยนชื่อรายการ แต่ไม่ใช่เนื้อหาจริง หรือไม่สามารถย้ายรายการไปยังตำแหน่งอื่นได้
ไวยากรณ์:
Rename-Item
[-Path] <String>
[-LiteralPath] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTranscation]
[<CommonParameters>]พารามิเตอร์ใน PowerShell Rename-Item
ต่อไปนี้คือพารามิเตอร์สำหรับ PowerShell Rename-Item:
- เส้นทาง: เส้นทางแหล่งที่มาของรายการ เส้นทางนี้ควรอยู่ในรูปแบบสตริงและต้องเหมือนกัน คุณสามารถระบุอักขระตัวแทน (*) ได้ แต่เส้นทางควรแก้ไขเพียงรายการเดียวแทนที่จะเป็นหลายรายการ
- ชื่อใหม่:ชื่อไฟล์ปลายทาง โดยค่าเริ่มต้น จะใช้เส้นทางต้นทางเดียวกัน การระบุเส้นทางที่แตกต่างกันอย่างชัดเจนจะทำให้เกิดข้อผิดพลาด คุณไม่สามารถใช้อักขระตัวแทน (*) ในชื่อใหม่ได้ สามารถเปลี่ยนชื่อไฟล์และนามสกุลได้หลายไฟล์
- บังคับ:เปลี่ยนชื่อรายการที่ไม่สามารถเปลี่ยนแปลงได้ สำหรับไฟล์หรือโฟลเดอร์ที่อ่านอย่างเดียวหรือซ่อนไว้ พารามิเตอร์นี้อนุญาตให้เปลี่ยนชื่อได้ พารามิเตอร์นี้ไม่สามารถเปลี่ยนนามแฝงคงที่หรือตัวแปรได้
- PassThru: ตามค่าเริ่มต้น Rename-Object จะไม่สร้างเอาต์พุตใดๆ พารามิเตอร์นี้อนุญาตให้เอาต์พุตแสดงในคอนโซล
- ข้อมูลรับรอง: หากรายการปลายทางของคุณอยู่ในโดเมนหรือกลุ่มงานอื่น คุณสามารถใช้พารามิเตอร์นี้เพื่อเชื่อมต่อเส้นทางปลายทางด้วยข้อมูลรับรองที่แตกต่างกัน
- จะเกิดอะไรขึ้น: พารามิเตอร์นี้ใช้เพื่อแจ้งว่าการดำเนินการใดจะเกิดขึ้นหากคำสั่งนี้ทำงานโดยไม่ได้รันคำสั่งจริง
- LiteralPath: พารามิเตอร์นี้ยังระบุเส้นทางของรายการที่จะเปลี่ยนชื่ออีกด้วย ไม่มีอักขระใดที่ถูกตีความว่าเป็นอักขระตัวแทน หากเส้นทางมีอักขระเฉพาะ จะต้องอยู่ในเครื่องหมายคำพูดเดี่ยว ดังนั้น PowerShell จะไม่ตีความอักขระใดๆ ว่าเป็นลำดับหลีก
- ยืนยัน: พารามิเตอร์นี้จะแจ้งให้ผู้ใช้ก่อนที่จะดำเนินการเปลี่ยนชื่อรายการ
- UseTranscation: พารามิเตอร์นี้รวมคำสั่งในธุรกรรมที่ใช้งานอยู่ พารามิเตอร์นี้ใช้ได้เฉพาะเมื่อธุรกรรมอยู่ระหว่างดำเนินการ
: พารามิเตอร์ด้านล่างได้รับการสนับสนุนโดยพารามิเตอร์ทั่วไป ErrorAction, ErrorVariable, WarningAction, WarningVariablem OutBuffer, PipelineVariable และ OutVariable
ตัวอย่างการใช้งาน PowerShell Rename-Item
ด้านล่างนี้คือตัวอย่างการใช้งานใน PowerShell Rename-Item:
ตัวอย่าง #1 - เปลี่ยนชื่อรายการ
รหัส:
Rename-Item D:\Temp\Putty.log -NewName Putty1.logในตัวอย่างข้างต้น เมื่อคุณไม่ได้ระบุเส้นทางปลายทางสำหรับไฟล์ที่จะเปลี่ยนชื่อ ตามค่าเริ่มต้นแล้ว ไฟล์นั้นจะใช้เส้นทางต้นทางเดียวกัน คุณยังสามารถเปลี่ยนชื่อรายการโดยไม่ต้องระบุพารามิเตอร์ -Newname โดยจัดให้มีช่องว่างระหว่างชื่อเก่าและชื่อใหม่ ตัวอย่างเช่น,
Rename-Item D:\Temp\Putty.log Putty1.logคุณยังสามารถเปลี่ยนชื่อโฟลเดอร์ได้ดังที่แสดงด้านล่าง
Rename-Item D:\Temp -NewName Temp1ตัวอย่าง #2 - เปลี่ยนชื่อรายการด้วยพารามิเตอร์ Passthru
หากต้องการตรวจสอบเอาต์พุตคำสั่งในคอนโซล ให้ใช้พารามิเตอร์ -Passthru
รหัส:
Rename-Item D:\Temp\Putty.log -NewName Putty1.log -PassThruเอาต์พุต:
การระบุเส้นทางปลายทางอื่นจะทำให้เกิดข้อผิดพลาดเนื่องจาก cmdlet นี้ไม่สามารถดำเนินการย้ายได้
Rename-Item D:\Temp\putty.log -NewName D:\putty1.log -PassThruเอาต์พุต:
ตัวอย่าง #3 - เปลี่ยนชื่อ-ChildItem ด้วยพารามิเตอร์ Whatif
เมื่อคุณใช้พารามิเตอร์ whatif มันจะแสดงให้คุณเห็นว่าคำสั่ง action จะดำเนินการโดยไม่ต้องรันคำสั่งจริงๆ
Rename-Item D:\Temp\cars.xml -NewName cars1.xml -PassThru -WhatIfเอาต์พุต:
ตัวอย่าง #4 - เปลี่ยนชื่อ-ChildItem ด้วยพารามิเตอร์ยืนยัน
พารามิเตอร์นี้จะขอการยืนยันจากผู้ใช้ก่อนที่จะเปลี่ยนชื่อรายการ
รหัส:
Rename-Item D:\Temp\cars.xml -NewName cars1.xml -Confirmเอาต์พุต:
คุณยังสามารถระบุค่า $true หรือ $false เพื่อยืนยันพารามิเตอร์ได้ เมื่อระบุมูลค่า $true ระบบจะแจ้งให้ผู้ใช้ยืนยัน เมื่อระบุค่า $false ของคุณ ระบบจะไม่แจ้งให้ผู้ใช้ยืนยันและเปลี่ยนชื่อรายการโดยตรง และนี่คือตัวเลือกเริ่มต้นในพารามิเตอร์ -confirm
Rename-Item D:\Temp\cars.xml -NewName cars1.xml -Confirm:$trueRename-Item D:\Temp\cars.xml -NewName cars1.xml -Confirm:$falseตัวอย่าง #5 - เปลี่ยนชื่อค่ารีจิสทรี
เช่นเดียวกับการเปลี่ยนชื่อไฟล์ คุณสามารถเปลี่ยนชื่อค่ารีจิสทรีได้เช่นกัน
รหัส:
Rename-Item HKLM:\SYSTEM\CurrentControlSet\Control\test -NewName Test2Rename-Item HKLM:\SECURITY\Policy\Data -NewName Data1ตัวอย่างที่ 6 - เปลี่ยนชื่อนามสกุลไฟล์หลายไฟล์ด้วย Rename-Item
หากต้องการเปลี่ยนชื่อนามสกุลไฟล์หลายไฟล์ คุณสามารถใช้คำสั่งด้านล่างเพื่อแทนที่ไฟล์เหล่านั้นได้
รหัส:
PS C:\WINDOWS\system32> Get-ChildItem D:\Temp\* -Include *.html | Rename-Item -NewName {$_.Name -replace '.html','.htm'} -PassThruหากต้องการเปลี่ยนชื่อไฟล์หรือโฟลเดอร์หลายรายการ คุณต้องใช้การวนซ้ำ
เอาต์พุต:
บทสรุป
Rename-Item เป็นเครื่องมือที่ยอดเยี่ยมในการเปลี่ยนชื่อไฟล์ นามสกุล โฟลเดอร์ รีจิสตรี ฯลฯ ไฟล์เดียวหรือหลายไฟล์ แต่ไม่สามารถย้ายหรือคัดลอกไฟล์ได้ สำหรับพวกเขามี cmdlet ที่แตกต่างกันออกไป





