ตัวแปรการพิมพ์ PowerShell [พร้อมตัวอย่าง]
ในขณะที่ทำงานใน PowerShell จะมีบางครั้งที่คุณจำเป็นต้องพิมพ์ค่าของตัวแปรเพื่อวัตถุประสงค์ในการแก้ไขจุดบกพร่องหรือการบันทึก ในบทช่วยสอนนี้ ฉันจะอธิบายวิธีพิมพ์ตัวแปรใน PowerShell โดยใช้วิธีและตัวอย่างต่างๆ
หากต้องการพิมพ์ตัวแปรใน PowerShell คุณสามารถใช้ Write-Output cmdlet ซึ่งจะส่งออบเจ็กต์ที่ระบุไปตามไปป์ไลน์ไปยังคำสั่งถัดไป หรือแสดงในคอนโซลหากเป็นคำสั่งสุดท้าย ตัวอย่างเช่น หากคุณมีตัวแปร $city ที่มีค่า “New York” คุณสามารถพิมพ์ตัวแปรนั้นได้โดยดำเนินการ Write-Output $city การดำเนินการนี้จะส่งออก "New York" ไปยังคอนโซล ทำให้เป็นวิธีที่ตรงไปตรงมาในการแสดงค่าตัวแปร
ตัวแปรการพิมพ์ PowerShell
มีวิธีการต่างๆ ในการพิมพ์ตัวแปรใน PowerShell รวมถึงตัวอย่างด้วย
ใน PowerShell ตัวแปรใช้เพื่อจัดเก็บข้อมูลที่สามารถนำมาใช้และจัดการตลอดทั้งสคริปต์ของคุณได้ ตัวแปรใน PowerShell จะแสดงด้วยสัญลักษณ์ $ ตามด้วยชื่อตัวแปร ตัวอย่างเช่น:
$city = "New York"เราจะดูวิธีการพิมพ์ค่าของตัวแปรนี้ใน PowerShell และตัวอย่างอื่นๆ
1. เขียน-เอาท์พุต
คำสั่งแรกที่คุณสามารถใช้พิมพ์ค่าของตัวแปรได้โดยใช้ Write-Output PowerShell cmdlet
Write-Output cmdlet จะส่งวัตถุที่ระบุไปตามไปป์ไลน์ไปยังคำสั่งถัดไป หากคำสั่งเป็นคำสั่งสุดท้ายในไปป์ไลน์ คอนโซลจะแสดงอ็อบเจ็กต์
ไวยากรณ์:
Write-Output [-InputObject] <PSObject> [-NoEnumerate] [<CommonParameters>]ต่อไปนี้เป็นตัวอย่างพื้นฐานของการใช้ Write-Output เพื่อพิมพ์ตัวแปรใน PowerShell
$city = "New York"
Write-Output $cityสิ่งนี้จะพิมพ์คำว่า "นิวยอร์ก" ไปที่คอนโซล ฉันรันสคริปต์ PowerShell ข้างต้น และคุณสามารถดูผลลัพธ์ที่แน่นอนได้ในภาพหน้าจอด้านล่าง:
cmdlet นี้ยังให้พารามิเตอร์ทางเลือกต่างๆ อีกด้วย แต่เป็นพารามิเตอร์ที่มีประโยชน์บางประการ ให้ฉันแสดงตัวอย่างบางส่วนให้คุณดู
- -InputObject: ระบุวัตถุที่จะส่งไปยังไปป์ไลน์ พารามิเตอร์ตำแหน่งนี้สามารถละเว้นได้หากวัตถุเป็นอาร์กิวเมนต์เดียว นี่คือตัวอย่าง
city = "New York"
Write-Output -InputObject $cityสิ่งนี้จะพิมพ์คำว่า "นิวยอร์ก" ไปที่คอนโซล
- -NoEnumerate: ป้องกัน cmdlet จากการแจกแจงคอลเลกชัน ตามค่าเริ่มต้น
Write-Outputจะระบุรายการในคอลเล็กชัน โดยส่งแต่ละรายการไปยังไปป์ไลน์ทีละรายการ
นี่คือตัวอย่าง:
$cities = @("New York", "Los Angeles", "Chicago")
Write-Output -NoEnumerate $citiesการดำเนินการนี้จะพิมพ์อาร์เรย์ทั้งหมด ("New York", "Los Angeles", "Chicago") เป็นออบเจ็กต์เดียว
- พารามิเตอร์ทั่วไป: พารามิเตอร์เหล่านี้เป็นมาตรฐานสำหรับ cmdlets ต่างๆ และประกอบด้วย
-Verbose,-Debug,-ErrorAction,-ErrorVariable,-OutBufferและ-OutVariableนี่คือตัวอย่าง
$city = "Houston"
Write-Output $city -Verbose
การดำเนินการนี้จะพิมพ์ "Houston" และรวมเอาต์พุตแบบละเอียดเพิ่มเติมหากเปิดใช้งาน
อ่านชุดและรับตัวแปรสภาพแวดล้อมใน PowerShell
2. เขียน-โฮสต์
Write-Host cmdlet ใน PowerShell จะแสดงข้อความในคอนโซล มักใช้เพื่อแสดงข้อความถึงผู้ใช้โดยตรง
ไวยากรณ์:
Write-Host [-Object] <Object> [-NoNewline] [-Separator <Object>] [<CommonParameters>]นี่คือตัวอย่างพื้นฐาน
$city = "Los Angeles"
Write-Host $cityสิ่งนี้จะพิมพ์ "Los Angeles" ไปยังคอนโซลด้วยสีเริ่มต้น
ผลลัพธ์อยู่ในภาพหน้าจอด้านล่างหลังจากที่ฉันรันสคริปต์ PowerShell ด้านบนโดยใช้โค้ด VS
- -Object: ระบุวัตถุที่จะเขียนลงในคอนโซล นี่คือตัวอย่าง:
$city = "Los Angeles"
Write-Host -Object $cityสิ่งนี้จะพิมพ์ "Los Angeles" ไปยังคอนโซลด้วยสีเริ่มต้น
- -NoNewline: ป้องกัน cmdlet จากการเพิ่มอักขระขึ้นบรรทัดใหม่ที่ส่วนท้ายของเอาต์พุต นี่คือตัวอย่าง
Write-Host -Object "Hello, " -NoNewline
Write-Host -Object "World!"สิ่งนี้จะพิมพ์ว่า “Hello, World!” บนบรรทัดเดียวกัน
- -ตัวคั่น: ระบุสตริงที่จะใช้เป็นตัวคั่นระหว่างออบเจ็กต์ นี่คือตัวอย่าง
$cities = @("New York", "Los Angeles", "Chicago")
Write-Host -Object $cities -Separator ", "
สิ่งนี้จะพิมพ์ว่า "นิวยอร์ก ลอสแองเจลิส ชิคาโก"
3. เขียนแบบละเอียด
cmdlet Write-Verbose ใน PowerShell เขียนข้อความไปยังสตรีมข้อความแบบละเอียด คุณต้องเปิดใช้งานเอาต์พุตแบบละเอียดโดยใช้พารามิเตอร์เพื่อดูข้อความแบบละเอียด
ไวยากรณ์:
Write-Verbose [-Message] <String> [<CommonParameters>]นี่คือตัวอย่างง่ายๆ
$city = "Chicago"
Write-Verbose $city -Verboseการดำเนินการนี้จะพิมพ์ "Chicago" เฉพาะเมื่อมีการเปิดใช้งานเอาต์พุตแบบละเอียดเท่านั้น นี่คือผลลัพธ์ในภาพหน้าจอด้านล่าง:
- -ข้อความ: ระบุข้อความที่จะเขียนลงในสตรีมแบบละเอียด นี่คือตัวอย่าง
$city = "Chicago"
Write-Verbose -Message $city -Verboseการดำเนินการนี้จะพิมพ์ "Chicago" เฉพาะเมื่อมีการเปิดใช้งานเอาต์พุตแบบละเอียดเท่านั้น
4. การเขียนคำเตือน
Write-Warning cmdlet ใน PowerShell พิมพ์ข้อความเตือนไปยังคอนโซล
ไวยากรณ์:
Write-Warning [-Message] <String> [<CommonParameters>]นี่คือตัวอย่างง่ายๆ
$city = "Houston"
Write-Warning $cityสิ่งนี้จะพิมพ์ "คำเตือน: ฮูสตัน" ไปที่คอนโซล นี่คือผลลัพธ์ในภาพหน้าจอด้านล่าง:
5. เขียน-ผิดพลาด
Write-Error cmdlet ใน PowerShell เขียนข้อความแสดงข้อผิดพลาดไปยังสตรีมข้อผิดพลาด
ไวยากรณ์:
Write-Error [-Message] <String> [-Category <ErrorCategory>] [-ErrorId <String>] [-TargetObject <Object>] [<CommonParameters>]นี่เป็นตัวอย่างง่ายๆ:
$city = "Phoenix"
Write-Error $cityสิ่งนี้จะพิมพ์ "Phoenix" เป็นข้อความแสดงข้อผิดพลาด คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:
- -ข้อความ: ระบุข้อความแสดงข้อผิดพลาดที่จะเขียน
$city = "Phoenix"
Write-Error -Message $cityสิ่งนี้จะพิมพ์ "Phoenix" เป็นข้อความแสดงข้อผิดพลาด
- -หมวดหมู่: ระบุหมวดหมู่ของข้อผิดพลาด นี่คือตัวอย่าง
$city = "Phoenix"
Write-Error -Message $city -Category InvalidOperationสิ่งนี้จะพิมพ์ "Phoenix" เป็นข้อความแสดงข้อผิดพลาดพร้อมหมวดหมู่ "InvalidOperation"
ฉันหวังว่าคุณจะได้รู้วิธีพิมพ์ตัวแปรใน PowerShell แล้ว
ตรวจสอบวิธีการตรวจสอบว่าตัวแปรเป็น Null ใน PowerShell หรือไม่
พิมพ์ตัวแปรใน PowerShell - เทคนิคขั้นสูง
ตอนนี้ ฉันจะแสดงเทคนิคขั้นสูงบางอย่างที่คุณสามารถใช้เพื่อจัดรูปแบบผลลัพธ์สำหรับการพิมพ์ตัวแปรใน PowerShell
รูปแบบเอาต์พุต
PowerShell มีวิธีต่างๆ ในการจัดรูปแบบเอาต์พุต ทำให้อ่านง่ายขึ้น
$city = "San Francisco"
$population = 883305
Write-Output ("The population of {0} is {1}" -f $city, $population)สิ่งนี้จะพิมพ์ว่า "ประชากรของซานฟรานซิสโกคือ 883305" นี่คือผลลัพธ์ที่คุณเห็นในภาพหน้าจอด้านล่าง:
การใช้ตัวแปรในสตริง
คุณยังสามารถฝังตัวแปรได้โดยตรงภายในสตริงใน PowerShell
$city = "San Diego"
Write-Output "Welcome to $city!"ข้อความนี้จะพิมพ์ว่า “Welcome to San Diego!”
การส่งออกไปยังไฟล์
บางครั้งคุณอาจต้องบันทึกเอาต์พุตลงในไฟล์แทนที่จะแสดงบนคอนโซล
$city = "Dallas"
$path = "C:\USA_Cities.txt"
Add-Content -Path $path -Value $cityสิ่งนี้จะเพิ่ม “Dallas” ต่อท้ายไฟล์ซึ่งอยู่ที่ C:\USA_Cities.txt
ตัวอย่างตัวแปรการพิมพ์ PowerShell
ตอนนี้ ฉันจะแสดงตัวอย่างจริงสองตัวอย่างในการพิมพ์ตัวแปรใน PowerShell
ตัวอย่างที่ 1: การพิมพ์เมืองหลวงของรัฐ
ผมขอแสดงให้คุณเห็นก่อนว่าเราจะพิมพ์เมืองหลวงของรัฐที่มีตัวแปรได้อย่างไร
$states = @{
"California" = "Sacramento"
"Texas" = "Austin"
"Florida" = "Tallahassee"
}
foreach ($state in $states.Keys) {
Write-Output "The capital of $state is $($states[$state])."
}สคริปต์นี้จะพิมพ์เมืองหลวงของแคลิฟอร์เนีย เท็กซัส และฟลอริดา
ตัวอย่างที่ 2: การบันทึกข้อมูลสภาพอากาศ
นี่เป็นอีกตัวอย่างหนึ่งที่คุณต้องการบันทึกข้อมูลสภาพอากาศ
$city = "Seattle"
$temperature = 75
$logPath = "C:\Weather_Log.txt"
Add-Content -Path $logPath -Value "The temperature in $city is $temperature degrees."
Write-Output "Weather data logged successfully."สคริปต์นี้จะบันทึกอุณหภูมิของซีแอตเทิลลงในไฟล์และยืนยันการดำเนินการ
บทสรุป
ในบทช่วยสอนนี้ ฉันได้อธิบายวิธีพิมพ์ตัวแปร PowerShell โดยใช้วิธีต่างๆ เช่น:
- Write-Output
- Write-Host
- Write-Verbose
- Write-Warning
- Write-Error
เราเห็นวิธีการใช้วิธีการเหล่านี้พร้อมตัวอย่างต่างๆ คุณยังมีข้อสงสัยอยู่หรือไม่? รู้สึกอิสระที่จะแสดงความคิดเห็นด้านล่าง ฉันจะพยายามตอบกลับโดยเร็วที่สุด





