PowerShell: ตรวจสอบว่า Get-ChildItem ส่งกลับไม่มีผลลัพธ์หรือไม่
คุณสามารถใช้ Get-ChildItem cmdlet ใน PowerShell เพื่อดึงไฟล์ทั้งหมดในไดเรกทอรีเฉพาะ
ในบางครั้ง คุณอาจต้องการตรวจสอบว่า cmdlet Get-ChildItem ไม่ส่งคืนผลลัพธ์หรือไม่
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:
$results = @(Get-ChildItem)
if ($results.length -eq 0) {
Write-Host "No Files"
} else {
Write-Host "At Least One File"
}ไวยากรณ์นี้ทำงานโดยการจัดเก็บผลลัพธ์ของ Get-ChildItem cmdlet ไว้ในอาร์เรย์ชื่อ $results จากนั้นใช้คำสั่ง if else เพื่อตรวจสอบ ถ้าคุณสมบัติ ความยาว ของอาร์เรย์เท่ากับศูนย์หรือไม่
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: ตรวจสอบว่า Get-ChildItem ไม่มีผลลัพธ์ใน PowerShell หรือไม่
สมมติว่าไดเรกทอรีปัจจุบันของเรามีเส้นทางต่อไปนี้:
C:\Users\bobbi\data1เราสามารถใช้ Get-ChildItem cmdlet เพื่อดูไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันนี้ก่อน:
เราจะเห็นว่าไดเร็กทอรีนี้มีไฟล์ทั้งหมดหกไฟล์
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อตรวจสอบว่า cmdlet Get-ChildItem ไม่ส่งคืนผลลัพธ์หรือไม่:
$results = @(Get-ChildItem)
if ($results.length -eq 0) {
Write-Host "No Files"
} else {
Write-Host "At Least One File"
}ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
ซึ่งจะส่งคืนเอาต์พุต “อย่างน้อยหนึ่งไฟล์” เพื่อระบุว่า cmdlet Get-ChildItem ส่งคืนไฟล์อย่างน้อยหนึ่งไฟล์
สมมติว่าไดเรกทอรีปัจจุบันของเรามีเส้นทางต่อไปนี้:
C:\Users\bobbi\data2เราสามารถใช้ Get-ChildItem cmdlet เพื่อดูไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันนี้ก่อน:
เราจะเห็นว่าไดเรกทอรีนี้ไม่มีไฟล์
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อตรวจสอบว่า cmdlet Get-ChildItem ไม่ส่งคืนผลลัพธ์หรือไม่:
$results = @(Get-ChildItem)
if ($results.length -eq 0) {
Write-Host "No Files"
} else {
Write-Host "At Least One File"
}ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
ซึ่งจะส่งคืนเอาต์พุต “No Files” เพื่อระบุว่า Get-ChildItem cmdlet ไม่ส่งคืนไฟล์ใด ๆ
หมายเหตุ: คุณสามารถดูเอกสารฉบับสมบูรณ์สำหรับ Get-ChildItem cmdlet ใน PowerShell ได้ที่นี่



