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ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
อีกครั้ง เฉพาะไฟล์เท่านั้นที่จะถูกส่งกลับ ไม่ใช่โฟลเดอร์


