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

PowerShell: ความแตกต่างระหว่าง Get-Item กับ Get-ChildItem


cmdlet Get-Item และ Get-ChildItem ใน PowerShell สามารถใช้เพื่อดึงข้อมูลรายการเฉพาะจากตำแหน่งเฉพาะบนคอมพิวเตอร์ของคุณได้ แต่จะมีการทำงานในลักษณะที่แตกต่างกันเล็กน้อย

หากคุณต้องการรับ ไฟล์ เฉพาะ Get-Item และ Get-ChildItem cmdlets จะส่งกลับผลลัพธ์เดียวกัน

หากคุณต้องการได้รับ โฟลเดอร์ เฉพาะ Get-Item cmdlet จะส่งคืนโฟลเดอร์นั้นเองเท่านั้น ในขณะที่ Get-ChildItem cmdlet จะส่งคืนทั้งหมด ของเนื้อหาภายในโฟลเดอร์

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงความแตกต่างในทางปฏิบัติ

ตัวอย่างที่ 1: ใช้ Get-Item และ Get-ChildItem เพื่อดึงไฟล์

สมมติว่าเราต้องการดึงไฟล์ชื่อ citys.txt ในไดเร็กทอรีปัจจุบันของเรา

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ทั้ง cmdlets Get-Item และ Get-ChildItem เพื่อดึงข้อมูลไฟล์นี้:

โปรดสังเกตว่าทั้ง cmdlets Get-Item และ Get-ChildItem ส่งคืนไฟล์ที่เราระบุ

ในสถานการณ์สมมตินี้ cmdlet ของทั้งสองให้ผลลัพธ์เดียวกัน

ตัวอย่างที่ 2: ใช้ Get-Item และ Get-ChildItem เพื่อดึงข้อมูลโฟลเดอร์

สมมติว่าเราต้องการดึงโฟลเดอร์ชื่อ data1 ในไดเรกทอรีปัจจุบันของเรา

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ทั้ง cmdlets Get-Item และ Get-ChildItem เพื่อดึงข้อมูลโฟลเดอร์นี้:

โปรดสังเกตว่า Get-Item cmdlet จะส่งคืนโฟลเดอร์เท่านั้น

อย่างไรก็ตาม Get-ChildItem cmdlet จะส่งคืนโฟลเดอร์พร้อมกับไฟล์ทั้งหมดที่อยู่ภายใน

นอกจากนี้ โปรดทราบว่าคุณสามารถใช้พารามิเตอร์ -Recurse กับ Get-ChildItem cmdlet เพื่อรับไฟล์ทั้งหมดภายในโฟลเดอร์ย่อยของโฟลเดอร์เฉพาะ:

Get-ChildItem data1 -Recurse

Get-Item cmdlet ไม่มีตัวเลือกนี้

โดยสรุป:

  • Get-Item cmdlet เหมาะที่สุดสำหรับการดึงไฟล์เดียว
  • Get-ChildItem cmdlet เหมาะที่สุดสำหรับการดึงไฟล์และ/หรือโฟลเดอร์ย่อยหลายไฟล์ภายในโฟลเดอร์

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