การอ่านอาร์กิวเมนต์จากคำสั่งลำดับ

PowerShell:
การอ่านอาร์กิวเมนต์จากคำสั่งลำดับ

วิธีการ

PowerShell อ่านอาร์กิวเมนต์บรรทัดคำสั่งโดยใช้อาร์เรย์ $args หรือพารามิเตอร์ $args เหมาะสำหรับสคริปต์ที่ใช้ครั้งเดียว; พารามิเตอร์ดีกว่าสำหรับเครื่องมือที่แข็งแกร่ง

การใช้ $args

# myscript.ps1
Write-Host "คุณได้ป้อนอาร์กิวเมนต์ต่อไปนี้:"
$args

เรียกใช้ด้วย .\myscript.ps1 Hello PowerShell, แสดงผล:

คุณได้ป้อนอาร์กิวเมนต์ต่อไปนี้:
Hello PowerShell

การใช้พารามิเตอร์

# myscriptparam.ps1
param (
    [string]$Name,
    [int]$Age
)
Write-Host "สวัสดี, $Name! คุณอายุ $Age ปี."

เรียกใช้ด้วย .\myscriptparam.ps1 -Name Sarah -Age 32, แสดงผล:

สวัสดี, Sarah! คุณอายุ 32 ปี.

ศึกษาเพิ่มเติม

วิธีการทันสมัยของ PowerShell ในการอ่านอาร์กิวเมนต์บรรทัดคำสั่งคล้ายกับสิ่งที่ได้รับมาจากบรรพบุรุษเช่น cmd และ Bash อย่างไรก็ตาม, มันขยายความยืดหยุ่นและความแม่นยำ

บริบททางประวัติศาสตร์

หลายปีก่อน, ไฟล์แบทช์และสคริปต์เชลล์เข้าถึงอาร์กิวเมนต์โดยใช้ตัวแปรที่มีตัวเลข (เช่น %1, %2) PowerShell ได้ปรับปรุงสิ่งนี้ด้วย $args และพารามิเตอร์ที่มีชื่อเพื่อความชัดเจนและควบคุมมากขึ้น

ทางเลือก

มีทางเลือกอื่นๆ เช่นการแยกวิเคราะห์อินพุตดิบด้วย Read-Host หรือการรับอินพุตที่ถูกส่งผ่านไป (piped input) อย่างไรก็ตาม, $args และพารามิเตอร์นั้นง่ายกว่ามากสำหรับงานอัตโนมัติและสคริปต์

รายละเอียดการใช้งาน

$args เป็นอาร์เรย์ง่ายๆ ดีสำหรับอินพุตที่ไม่เจาะจง พารามิเตอร์ ด้วยคุณลักษณะและประเภทของมันสามารถตรวจสอบอินพุตและแม้กระทั่งส่งคำเชิญให้ผู้ใช้ ทำให้สคริปต์มีการเอกสารอย่างชัดเจนและลดโอกาสข้อผิดพลาดได้

ดูเพิ่มเติมได้ที่