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

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 ให้ผลลัพธ์เป็น False
  • operand2 มีค่า 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

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