PowerShell - ตัวดำเนินการเชิงตรรกะ [ตัวดำเนินการ 5 ตัว]
การใช้ตัวดำเนินการแบบลอจิคัลใน PowerShell
ตัวดำเนินการเชิงตรรกะของ PowerShell เป็นเครื่องมือที่มีศักยภาพในการเปรียบเทียบข้อมูลและดำเนินการตามการเปรียบเทียบเหล่านั้น ช่วยให้ผู้ใช้สามารถออกแบบสถานการณ์จำลอง if-then ซึ่งมีการเปรียบเทียบพารามิเตอร์หลายตัว กล่าวอีกนัยหนึ่งคือช่วยให้ผู้ใช้สามารถเลือกได้ตามเกณฑ์ที่พวกเขาระบุ
ตัวดำเนินการเชิงตรรกะคือ PowerShell cmdlet ที่ดำเนินการบูลีนกับค่าตั้งแต่สองค่าขึ้นไปเพื่อสร้างคำสั่งแบบมีเงื่อนไขที่ซับซ้อน ตัวดำเนินการเชิงตรรกะที่มีการใช้งานที่สำคัญที่สุดคือ:
- ตรรกะและ
- ตรรกะหรือ
- ตรรกะพิเศษหรือ
- ตรรกะไม่
ตัวดำเนินการเหล่านี้จะส่งคืนค่า True หรือ False ขึ้นอยู่กับผลลัพธ์ของการดำเนินการ
ใช้ตรรกะและตัวดำเนินการ
หากต้องการดำเนินการตรรกะ AND กับค่าตั้งแต่สองค่าขึ้นไป ให้ใช้ตัวดำเนินการ -and ระหว่างตัวถูกดำเนินการ
ใช้ตรรกะและตัวดำเนินการ:
$operand1 = (1 -eq 2)
$operand2 = ('ab' -eq 'ab')
$operand1 -and $operand2เอาท์พุท :
Falseใน PowerShell ตัวดำเนินการ -eq คือตัวดำเนินการเปรียบเทียบที่ตรวจสอบว่าค่าสองค่าเท่ากันหรือไม่ หากค่าเท่ากัน จะส่งกลับ True; มิฉะนั้นจะส่งกลับ False เราใช้ตัวดำเนินการ -eq เพื่อสร้างตัวถูกดำเนินการสองตัว:
operand1ที่มีค่าFalseเนื่องจากการเปรียบเทียบตัวเลข1และ2ให้ผลลัพธ์เป็นFalseoperand2มีค่าTrueเนื่องจากการเปรียบเทียบสตริงabและabส่งกลับTrueรหัส>.
ตัวดำเนินการ -และ ดำเนินการตรรกะ AND จะส่งกลับ True หากตัวถูกดำเนินการทั้งสอง True; มิฉะนั้น False ตัวอย่างเช่น เราใช้ตัวดำเนินการ -and เพื่อเปรียบเทียบ operand1 และ operand2 ซึ่งส่งคืน False เนื่องจาก ตัวถูกดำเนินการ1 เคยเป็น False
ใช้ตรรกะหรือตัวดำเนินการ
หากต้องการดำเนินการตรรกะ OR กับค่าตั้งแต่สองค่าขึ้นไป ให้ใช้ตัวดำเนินการ -หรือ ระหว่างตัวถูกดำเนินการ
ใช้ตรรกะหรือตัวดำเนินการ:
$operand1 = (1 -eq 2)
$operand2 = ('ab' -eq 'ab')
$operand1 -or $operand2เอาท์พุท :
Trueเราสร้างตัวถูกดำเนินการเหมือนที่เราทำในขณะที่ใช้ตัวดำเนินการ -และ นอกจากนี้ เรายังใช้ตัวดำเนินการ -หรือ ในส่วนนี้ ดำเนินการตรรกะหรือการดำเนินการและส่งกลับค่า True ถ้าตัวถูกดำเนินการตัวใดตัวหนึ่งเป็น True; มิฉะนั้น False
ตัวอย่างเช่น เราใช้ตัวดำเนินการ -หรือ เพื่อเปรียบเทียบ operand1 และ operand2 มันส่งคืน True เนื่องจาก operand2 เป็น True
ใช้ตรรกะพิเศษหรือตัวดำเนินการ
หากต้องการดำเนินการ Logical EXCLUSIVE OR กับค่าตั้งแต่สองค่าขึ้นไป ให้ใช้ตัวดำเนินการ -xor ระหว่างตัวถูกดำเนินการ
ใช้ตรรกะพิเศษหรือตัวดำเนินการ:
$operand1 = (1 -eq 2)
$operand2 = ('ab' -eq 'ab')
$operand1 -xor $operand2เอาท์พุท :
Trueตัวดำเนินการ -xor ดำเนินการเชิงตรรกะ EXCLUSIVE OR และส่งคืนค่า True หากนิพจน์ใดนิพจน์หนึ่งเป็น True; มิฉะนั้น False ตัวอย่างเช่น เราใช้การดำเนินการ -xor กับ operand1 และ operand2 ที่ส่งคืน True เพราะมีเพียงรายการเดียว นั่นคือ operand2 เป็นจริง
ใช้ตัวดำเนินการตรรกะไม่ใช่
หากต้องการดำเนินการ Logical NOT กับค่า ให้ใช้ตัวดำเนินการ -not หรือ (!) ระหว่างตัวถูกดำเนินการ
ใช้ตัวดำเนินการตรรกะไม่ใช่:
$operand1 = (1 -eq 2)
$operand2 = ('ab' -eq 'ab')
-not ($operand1)
! ($operand2)เอาท์พุท :
True
Falseตัวดำเนินการ -not นี้จะปฏิเสธค่าของนิพจน์ หากนิพจน์เป็น True จะส่งกลับ False และหากนิพจน์เป็น False จะส่งกลับ True เราใช้ตัวดำเนินการ -not เพื่อปฏิเสธค่าของตัวถูกดำเนินการทั้งสองตัว
- การปฏิเสธของ
operand1ส่งคืนTrueเนื่องจากนิพจน์เป็นFalse - การปฏิเสธของ
operand2ส่งคืนFalseเนื่องจากนิพจน์เป็นTrue
ใช้ตัวดำเนินการเชิงตรรกะหลายตัว
หากต้องการดำเนินการทางตรรกะหลายรายการกับค่าหนึ่งๆ ให้ใช้วงเล็บที่ช่วยระบุ
ใช้ตัวดำเนินการเชิงตรรกะหลายตัว:
$operand1 = (1 -eq 2)
$operand2 = ('ab' -eq 'ab')
(-not($operand1) -and $operand2) -xor $operand2เอาท์พุท :
False
โปรดจำไว้ว่าตัวดำเนินการ -และ, -or และ -xor จะมีความสำคัญมากกว่า -not ใช้วงเล็บเพื่อระบุลำดับการดำเนินการ เราใช้ตัวดำเนินการเชิงตรรกะหลายตัว:
- ใช้การปฏิเสธบน
operand1ซึ่งให้ผลลัพธ์เป็นTrueเนื่องจากนิพจน์เป็นFalse operand2และการปฏิเสธของoperand1อยู่ภายใต้การดำเนินการแบบตรรกะ AND ซึ่งสร้างผลลัพธ์เป็นTrueเนื่องจากค่าของตัวถูกดำเนินการทั้งสองคือจริง.- ใช้การดำเนินการ EXCLUSIVE OR แบบลอจิคัลกับ
operand2และผลลัพธ์ของการดำเนินการ AND ดังกล่าว เนื่องจากตัวถูกดำเนินการทั้งสองมีค่าเป็นTrueจึงส่งคืนFalse
