PowerShell比较麻烦,无法进行复合比较

我在进行复合比较时遇到问题。我没有成功使用-ne或-or。以下是我认为应如何工作:

If (($Var -ne 'Y') -or ($Var -ne 'N') {
     #Logic for error message and loop back to user promt
Else { #Go to another function }

现在,当我尝试执行此操作时,无论输入什么内容,我都转到我的错误消息,由于该消息会循环回用户提示,因此会造成无限循环。即使输入Y或N,我也会转到错误消息。

现在,我将该代码分解为以下代码,并且可以正常工作,但是我宁愿进行复合比较,如果变量既不是“ y”也不是“ n”,则会出错(这是因为输入Y和N都将脚本推进到代码的同一部分)。

If ($Var -eq 'Y') {
     #Do action 1
}
ElseIf ($Var -eq 'N') {
     #Do action 1
}
Else {
     #Give error message and loop back to prompt
}
斯科特·希思
If (($Var -ne 'Y') -or ($Var -ne 'N')) {
     #Logic for error message and loop back to user promt
Else { #Go to another function }

这永远都行不通,因为两者之一始终为真,并且您正在使用-or。实际上有上百万种方法可以解决此问题,但是鉴于您所显示的内容并推断您给出了一个多步骤的过程,所以我将这样做:

$step1complete = $false
Write-Host "Some question"
do {
  $var = Read-Host -Prompt "Enter Y or N"
  if ($var -in @('Y','N')) {
    $step1complete = $true
  }
  else {
    Write-Host "Invalid option!"
  }
} until ($step1complete)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PowerShell-筛选失败,无法进行比较

来自分类Dev

Powershell帮助进行比较

来自分类Dev

在运行时创建复合比较器进行排序

来自分类Dev

Powershell:将文本块与文件进行比较

来自分类Dev

powershell将字符串与-or进行比较

来自分类Dev

Powershell无法将文件中的MD5值与生成的MD5值进行比较

来自分类Dev

价值比较无法按预期进行

来自分类Dev

'无法对类型进行比较查询:PFRelation'Swift

来自分类Dev

Django无法进行日期时间比较

来自分类Dev

CryptoJS无法与预哈希数据进行比较

来自分类Dev

测试比较无法按预期进行

来自分类Dev

无法将 `&Thing` 与 `Thing` 进行比较

来自分类Dev

遍历会话密钥并将值与数据库进行比较时遇到麻烦

来自分类Dev

遍历会话密钥并将值与数据库进行比较时遇到麻烦

来自分类Dev

无法将输入变量与.txt中的数据进行比较/无法读取文件以比较数据

来自分类Dev

类型比较比较麻烦(来自系统反映)

来自分类Dev

Powershell使用WINSCP将ftp与本地目录进行比较

来自分类Dev

在PowerShell中使用WinSCP将FTP与本地目录进行比较

来自分类Dev

尝试在PowerShell中将extensionAttribute(string)与DateTime进行比较

来自分类Dev

在PowerShell中使用WinSCP将FTP与本地目录进行比较

来自分类Dev

比较两个列表并使用powershell进行报告

来自分类Dev

如何在Powershell中进行时间“ HH:mm”比较?

来自分类Dev

Powershell-将多个文件与单个csv文件进行比较

来自分类Dev

比较字符串时遇到麻烦

来自分类Dev

issubclass是否无法与类型比较进行比较。Python3.5中的泛型?

来自分类Dev

比较const char * vs char(无法使用strcmp进行比较)man子手游戏

来自分类Dev

Powershell:无法比较array.Length与int32

来自分类Dev

无法将传递的值与列名进行比较。拉拉韦尔

来自分类Dev

TypeError:无法将<type'str'>类型与Series进行比较

Related 相关文章

  1. 1

    PowerShell-筛选失败,无法进行比较

  2. 2

    Powershell帮助进行比较

  3. 3

    在运行时创建复合比较器进行排序

  4. 4

    Powershell:将文本块与文件进行比较

  5. 5

    powershell将字符串与-or进行比较

  6. 6

    Powershell无法将文件中的MD5值与生成的MD5值进行比较

  7. 7

    价值比较无法按预期进行

  8. 8

    '无法对类型进行比较查询:PFRelation'Swift

  9. 9

    Django无法进行日期时间比较

  10. 10

    CryptoJS无法与预哈希数据进行比较

  11. 11

    测试比较无法按预期进行

  12. 12

    无法将 `&Thing` 与 `Thing` 进行比较

  13. 13

    遍历会话密钥并将值与数据库进行比较时遇到麻烦

  14. 14

    遍历会话密钥并将值与数据库进行比较时遇到麻烦

  15. 15

    无法将输入变量与.txt中的数据进行比较/无法读取文件以比较数据

  16. 16

    类型比较比较麻烦(来自系统反映)

  17. 17

    Powershell使用WINSCP将ftp与本地目录进行比较

  18. 18

    在PowerShell中使用WinSCP将FTP与本地目录进行比较

  19. 19

    尝试在PowerShell中将extensionAttribute(string)与DateTime进行比较

  20. 20

    在PowerShell中使用WinSCP将FTP与本地目录进行比较

  21. 21

    比较两个列表并使用powershell进行报告

  22. 22

    如何在Powershell中进行时间“ HH:mm”比较?

  23. 23

    Powershell-将多个文件与单个csv文件进行比较

  24. 24

    比较字符串时遇到麻烦

  25. 25

    issubclass是否无法与类型比较进行比较。Python3.5中的泛型?

  26. 26

    比较const char * vs char(无法使用strcmp进行比较)man子手游戏

  27. 27

    Powershell:无法比较array.Length与int32

  28. 28

    无法将传递的值与列名进行比较。拉拉韦尔

  29. 29

    TypeError:无法将<type'str'>类型与Series进行比较

热门标签

归档