1
14
不,没有更简单的方法了。
为了
坦率地说
然而,对于
或:
我曾经看到一个批处理预处理器,它使用类似于c的语法来处理控制流和中间的批处理内容,然后将这些条件转换为多个跳转和检查。但是,这是dos批处理文件,在windows环境中几乎没有用处。 |
2
9
我有时想知道,现在人们在学校学什么!当然“或”也有可能。任何可以为您提供“not”和“and”的系统都会自动为您提供“or”,因为: x或y=不((不是x)和(不是y)) 看见 http://en.wikipedia.org/wiki/De_Morgan%27s_laws 所以只要表达式“如果(x和y)那么do z”可以这样写:
…我们应该能够写出表达式“如果(x或y)那么做z”, 但是 有一个问题: 我们把第一个“不”放在哪里?好吧,答案是无处可寻,我们应该首先改革上面的方程式: 不(x或y)=(不x)和(不y) 据此,我们可以将“如果(不是(x或y))那么(do z)”写成: “如果((不是x)和(不是y))则(do z)” 有了这个,知道如何表达,如上所示,我们现在可以把“如果(不是(x或y))那么(do z)”写成:
我们也知道这个表达: “如果(不是p),则(do q)else(do r)” …相当于: “如果(p)那么(do r)否则(do q) 因此我们可以写“如果(x或y)那么(do z)”: “如果(不是(x或y))则(不做)其他(做z)” 所以我们可以表达 “如果(x或y),则(do z)” AS:
但这还没有完成,因为这不是一个真正的“和”而是一个“模拟”的。缺少的是第二个。因此,获得正确结果的完整形式应该是:
…它有丑陋的另一部分。你可以用“goto”来解决这个问题,我们 最后 有:
|
3
2
我同意乔伊的看法,但我看不出另一个解决办法。
对于或解决方法,我建议使用以下“技巧”:
但是请注意,测试“/?”还是“-?”弦不能用那个把戏(
还请注意,对于tcc.exe(take命令解释器,完整版或精简版)下的批处理文件,此语法不起作用(完全忽略此语法,不执行代码),但在这种情况下,只需将其语法与
希望这有帮助。 |
4
0
如果条件正在检查变量的特定值,则可以像case语句一样设置它。我需要检查类型是单个成员还是组 (或全部) . 注: 标签不区分大小写。
如果任何条件是真的
(如果
我不喜欢迈赫达德的电气工程 (数字电子学) 方法。虽然软件工程是精确的,但正如op所指出的,其思想是使事情更容易解决。嵌套的if语句增加了复杂性 (McCabe) . 添加额外的nots没有帮助。 如果您不知道goto标签/错误设置,我的解决方案有点奇怪,但它是一个平面结构,大致设置为一个if语句,具有几个不难破译的or'd条件。 |
5
0
还有:
或:
为了实现或这样做,您确实需要命令扩展。 |
6
-6
只要启用了命令扩展,就可以使用比较运算符。 这是直接从“帮助if”粘贴的: 如果命令扩展被启用,如果更改如下:
其中比较op可以是:
如果指定了/i开关,则指示执行不区分大小写的字符串 比较。/I开关也可以用于string1==string2表单 IF。这些比较是通用的,如果string1和 字符串2都是由所有数字组成的,那么字符串是 转换为数字并执行数字比较。 |
late1 · 批处理文件未执行命令 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
Laureano Oliva · 如何将链接用作参数%1批处理函数? 2 年前 |
F35H · 涉及二次使用cd的错误。。在C代码中 2 年前 |