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

PowerShell: วิธีใช้ Get-ChildItem เพื่อส่งคืนไฟล์เท่านั้น


ตามค่าเริ่มต้น Get-ChildItem cmdlet ใน PowerShell จะส่งกลับทั้งโฟลเดอร์และไฟล์ในไดเรกทอรีเฉพาะ

อย่างไรก็ตาม คุณสามารถใช้ตัวดำเนินการ -File เพื่อระบุว่าคุณต้องการรับเฉพาะไฟล์เท่านั้น ไม่ใช่โฟลเดอร์ในไดเรกทอรีใดไดเรกทอรีหนึ่ง:

Get-ChildItem c:\users\bobbi\current_data -Recurse -File

ตัวอย่างนี้จะส่งคืนเฉพาะไฟล์ที่อยู่ในไดเร็กทอรีต่อไปนี้:

c:\users\bobbi\current_data

โปรดทราบว่าคุณสามารถใช้นามแฝง gci สำหรับ Get-ChildItem ได้ หากต้องการไวยากรณ์ที่สั้นกว่านี้:

gci c:\users\bobbi\current_data -Recurse -File

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

ตัวอย่าง: ใช้ Get-ChildItem เพื่อส่งคืนไฟล์ใน PowerShell เท่านั้น

สมมติว่าเรามีโฟลเดอร์ชื่อ current_data บันทึกอยู่ในตำแหน่งต่อไปนี้:

c:\users\bobbi\current_data

สมมติว่าเราใช้ Get-ChildItem cmdlet เพื่อส่งคืนโฟลเดอร์และไฟล์ทั้งหมดในไดเรกทอรีนี้:

Get-ChildItem c:\users\bobbi\current_data -Recurse

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

เราจะเห็นว่าไดเร็กทอรีนี้มีสองโฟลเดอร์:

  • ข้อมูล2022
  • ข้อมูล2023

นอกจากนี้ยังมีไฟล์อีก 5 ไฟล์:

  • baseball_data.xlsx
  • basketball_data.xlsx
  • football_data.xlsx
  • hockey_data.xlsx
  • new_hockey_data.xlsx

สมมติว่าเราต้องการส่งคืนเฉพาะไฟล์เท่านั้นไม่ใช่โฟลเดอร์

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

Get-ChildItem c:\users\bobbi\current_data -Recurse -File

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

โปรดสังเกตว่าเฉพาะไฟล์เท่านั้นที่จะถูกส่งกลับในครั้งนี้ ไม่ใช่โฟลเดอร์

นอกจากนี้เรายังสามารถใช้นามแฝง gci สำหรับ Get-ChildItem เพื่อให้ได้ผลลัพธ์เดียวกัน:

gci c:\users\bobbi\current_data -Recurse -File

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

อีกครั้ง เฉพาะไฟล์เท่านั้นที่จะถูกส่งกลับ ไม่ใช่โฟลเดอร์

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