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

ตั้งค่าตัวแปรใน PowerShell | สรุปชุดตัวแปรใน PowerShell อย่างรวดเร็ว


ข้อมูลเบื้องต้นเกี่ยวกับชุดตัวแปรใน PowerShell

บทความต่อไปนี้ให้ข้อมูลเค้าร่างของชุดตัวแปรใน Powershell ตัวแปรคือบล็อกของหน่วยความจำที่สามารถใช้เพื่อจัดเก็บค่า ตัวแปร PowerShell จะแสดงโดยใช้สัญลักษณ์ “$” ชื่อตัวแปรอาจเป็นอะไรก็ได้ตั้งแต่ตัวเลข ตัวอักษร หรือแม้แต่ขีดล่าง ตัวแปร PowerShell ไม่คำนึงถึงขนาดตัวพิมพ์ ตัวแปร PowerShell ไม่ใช่แค่แบบข้อความ แต่เป็นออบเจ็กต์ที่เหมือนกับออบเจ็กต์ Microsoft.Net มีตัวแปรหลายประเภท เช่น ตัวแปรที่ผู้ใช้สร้างขึ้น ตัวแปรอัตโนมัติ และตัวแปรการตั้งค่า Set-variable คือ cmdlet เพื่อตั้งค่าของตัวแปร ในกรณีที่ไม่มีตัวแปร set-variable cmdlet จะสร้างตัวแปรขึ้นมาแล้วกำหนดค่าให้กับตัวแปรนั้น

ไวยากรณ์สำหรับตั้งค่าตัวแปรใน PowerShell

ต่อไปนี้เป็นไวยากรณ์ของ cmdlet ชุดตัวแปร

อินพุต:

Get-Help Set-Variable

เอาต์พุต:

ตัวอย่าง:

Set-Variable -Name "test" -Value "test variable"

cmdlet ข้างต้นตั้งค่าของตัวแปรที่เรียกว่า test เป็น “test variety” หากไม่มีตัวแปรก็จะถูกสร้างขึ้น

พารามิเตอร์ของการตั้งค่าตัวแปรใน PowerShell

พารามิเตอร์ต่อไปนี้ได้รับด้านล่าง:

1. ยืนยัน: ใช้เพื่อได้รับการยืนยันก่อนเรียกใช้ cmdlet นี่คือพารามิเตอร์ทางเลือก ประเภทของมันคือสวิตช์ ค่าเริ่มต้นคือไม่มี ไม่ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด

<แข็งแกร่ง>2. ไม่รวม: ส่วนนี้ระบุรายการที่ควรยกเว้นขณะดำเนินการ cmdlet อาจเป็นเส้นทางหรือรูปแบบก็ได้ ประเภทของมันคือสตริง ประเภทของมันคือสวิตช์ ค่าเริ่มต้นคือไม่มี ไม่ยอมรับอินพุตไปป์ไลน์ในขณะที่สามารถรับอักขระตัวแทนได้ นอกจากนี้ยังเป็นพารามิเตอร์ทางเลือกอีกด้วย

<แข็งแกร่ง>3. บังคับ: อนุญาตให้สร้างตัวแปรเหมือนกับตัวแปรอ่านอย่างเดียวที่มีอยู่ นอกจากนี้ยังสามารถใช้เพื่อเปลี่ยนค่าของตัวแปรแบบอ่านอย่างเดียวได้อีกด้วย นี่คือพารามิเตอร์ทางเลือก ประเภทของมันคือสวิตช์ ค่าเริ่มต้นเป็นเท็จ ไม่ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด

<แข็งแกร่ง>4. รวม: ส่วนนี้ระบุรายการที่ควรรวมไว้ขณะดำเนินการ cmdlet อาจเป็นเส้นทางหรือรูปแบบก็ได้ ประเภทของมันคือสตริง ประเภทของมันคือสวิตช์ ค่าเริ่มต้นคือไม่มี ไม่ยอมรับอินพุตไปป์ไลน์ในขณะที่สามารถรับอักขระตัวแทนได้ นอกจากนี้ยังเป็นพารามิเตอร์ทางเลือกอีกด้วย

<แข็งแกร่ง>5. ชื่อ: ส่วนนี้ระบุชื่อตัวแปรและเป็นพารามิเตอร์บังคับ ประเภทของมันคือสตริง ค่าเริ่มต้นคือไม่มี ยอมรับอินพุตไปป์ไลน์ในขณะที่ไม่อนุญาตให้ใช้อักขระไวด์การ์ด

<แข็งแกร่ง>6. ตัวเลือก: ใช้เพื่อระบุคุณสมบัติตัวเลือกของตัวแปร มันเป็นค่าเริ่มต้นคือไม่มี ประเภทของมันคือขอบเขตของรายการ ไม่ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด นี่คือพารามิเตอร์ทางเลือก

ค่าที่ใช้งานได้มีดังนี้

  • หมายเหตุ: นี่เป็นค่าเริ่มต้น ไม่มีการตั้งค่าตัวเลือก
  • อ่านอย่างเดียว: ค่าของตัวแปรไม่สามารถเปลี่ยนแปลงได้ยกเว้นการใช้พารามิเตอร์บังคับ ไม่สามารถลบตัวแปรได้เช่นกัน
  • คงที่: ค่าของตัวแปรไม่สามารถเปลี่ยนแปลงหรือลบได้ ตัวแปรสามารถสร้างค่าคงที่ได้เฉพาะในระหว่างการสร้างเท่านั้น
  • ส่วนตัว: ตัวแปรใช้ได้เฉพาะในขอบเขตปัจจุบันเท่านั้น
  • AllScope: ตัวแปรสามารถคัดลอกไปยังขอบเขตใดๆ ที่อาจสร้างขึ้นได้

<แข็งแกร่ง>7. ขอบเขต: พารามิเตอร์นี้ระบุขอบเขตของตัวแปร ขอบเขตที่ใช้ได้คือ ทั่วโลก ท้องถิ่น สคริปต์ และส่วนตัว Local เป็นขอบเขตเริ่มต้นของตัวแปร ประเภทของมันคือสตริง ไม่ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด นี่คือพารามิเตอร์ทางเลือก

<แข็งแกร่ง>8. ค่า: ใช้เพื่อระบุค่าของตัวแปร ประเภทของมันคือวัตถุและค่าเริ่มต้นคือไม่มี สามารถรับอินพุตไปป์ไลน์ได้ แต่ไม่ยอมรับอักขระไวด์การ์ด

<แข็งแกร่ง>9. การมองเห็น: สิ่งนี้บ่งชี้ว่าตัวแปรที่สร้างขึ้นจะพร้อมใช้งานสำหรับภายนอกเซสชันที่สร้างตัวแปรนั้นหรือไม่ คุณค่าของมันคือสาธารณะหรือส่วนตัว ตามค่าเริ่มต้น ข้อมูลจะเป็นแบบสาธารณะ ซึ่งหมายความว่าสามารถใช้ได้แม้อยู่นอกเซสชันก็ตาม ส่วนตัวหมายถึงตัวแปรไม่พร้อมใช้งานนอกเซสชัน ไม่ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด

10. WhatIf: แสดงผลลัพธ์จริงหากเรียกใช้ cmdlet มันเหมือนกับการสาธิต cmdlet ประเภทเป็นสวิตช์ ค่าเริ่มต้นเป็นเท็จ ไม่ยอมรับอินพุตไปป์ไลน์และอักขระไวด์การ์ด

ตัวอย่างชุดตัวแปรใน PowerShell

ด้านล่างนี้เป็นตัวอย่างสำหรับชุดตัวแปรใน PowerShell

ตัวอย่าง #1

ตั้งค่าและรับตัวแปร

อินพุต:

Set-Variable -Name "test" -Value "test"
Get-Variable -Name "test"
Set-Variable -Name "test1" -Value "testone"
Get-Variable -Name "test1"
Set-Variable -Name "test2" -Value "testtwo"
Get-Variable -Name "test2"
Write-Host "Get all the user-defined variables in the current session"
Get-Variable test* -ValueOnly

เอาต์พุต:

ตัวอย่าง #2

ความแตกต่างระหว่างตัวแปรส่วนตัวและสาธารณะ

อินพุต:

Write-Host "Example of the public variable"
Set-Variable -Name "PubVar" -Visibility Public -Value "This is a Public Variable"
$pubvar
Write-Host "Example of the private variable"
Set-Variable -Name "PriVar" -Visibility private -Value "This is a private Variable"
$PriVar

เอาต์พุต:

การทำงานกับตัวแปรสภาพแวดล้อม

ด้านล่างนี้คือสองตัวอย่างสำหรับการทำงานกับตัวแปรสภาพแวดล้อม

1. การสร้างตัวแปรสภาพแวดล้อมที่กำหนดขอบเขตในเครื่อง

อินพุต:

Write-Host "Creation of local environment variable"
$env:locevar = 'Local Environment variable'
Write-Host "Displaying the value of the variable"
Get-ChildItem Env:locevar

เอาต์พุต:

ในตัวอย่างข้างต้น ตัวแปรที่สร้างขึ้นจะพร้อมใช้งานสำหรับเซสชัน PowerShell ปัจจุบันเท่านั้น เมื่อเซสชั่นถูกปิด ตัวแปรจะหายไป

2. การสร้างตัวแปรสภาพแวดล้อมสำหรับเครื่อง

อินพุต:

Write-Host "creation of environment variable applies to a system"
[System.Environment]::SetEnvironmentVariable('envvar','environment variable',[System.EnvironmentVariableTarget]::Machine)
Set-Location Env:

Get-ChildItem

เอาต์พุต:

สรุป - ตั้งค่าตัวแปรใน PowerShell

ดังนั้นบทความนี้จึงอธิบายรายละเอียดเกี่ยวกับ set-variable cmdlet พร้อมกับขอบเขตที่แตกต่างกัน นอกจากนี้ยังอธิบายเกี่ยวกับตัวแปรสภาพแวดล้อม วิธีสร้างและเข้าถึงตัวแปรเหล่านั้น หากต้องการเรียนรู้เชิงลึกเกี่ยวกับ cmdlet ขอแนะนำให้สร้างโปรแกรมตัวอย่างและสนุกกับการทำงาน

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