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

ตัวแปรการพิมพ์ 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 โดยใช้วิธีต่างๆ เช่น:

  1. Write-Output
  2. Write-Host
  3. Write-Verbose
  4. Write-Warning
  5. Write-Error

เราเห็นวิธีการใช้วิธีการเหล่านี้พร้อมตัวอย่างต่างๆ คุณยังมีข้อสงสัยอยู่หรือไม่? รู้สึกอิสระที่จะแสดงความคิดเห็นด้านล่าง ฉันจะพยายามตอบกลับโดยเร็วที่สุด

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