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

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:$true
Rename-Item D:\Temp\cars.xml -NewName cars1.xml -Confirm:$false

ตัวอย่าง #5 - เปลี่ยนชื่อค่ารีจิสทรี

เช่นเดียวกับการเปลี่ยนชื่อไฟล์ คุณสามารถเปลี่ยนชื่อค่ารีจิสทรีได้เช่นกัน

รหัส:

Rename-Item HKLM:\SYSTEM\CurrentControlSet\Control\test -NewName Test2
Rename-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 ที่แตกต่างกันออกไป

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