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 เหมาะที่สุดสำหรับการดึงไฟล์และ/หรือโฟลเดอร์ย่อยหลายไฟล์ภายในโฟลเดอร์

