batch file中的其他条件

batch file中的其他条件,第1张

概述batch file中的其他条件

我需要将下一个代码(C语言)条件转换为batch file:

if(version == 1 || version == 2) { // do something } else { // do something other }

所以在batch file中,它将如下所示:

if "%version%"==1 ( // do something ) if "%version%"==2 ( // do something ) if not "%version%"==1 ( // do something other ) if not "%version%"==2 ( // do something other )

有没有更好的方法来写它?

windows批处理命令:如何取消引用FOR循环variables来检查该variables是否设置在环境variables中

为什么在命令行上使用'set var = text'后没有输出string'echo%var%'?

使用命令提示符意外删除具有长扩展名的文件

如何查看windows环境variables而不执行其中的参数?

windows批处理:在for循环中延迟扩展

批处理将reg查询命令的输出正则Expression为一个variables

windows批处理脚本在几次迭代后停止工作

RunOnce在重新启动时使用随机名称重命名Computername

尝试在windows中启动Zookeeper时,“log4j.propertIEs在这个时候是意外的”

跨子文件夹(recursion)运行批处理脚本

“没有逻辑和/或但你可以使用强大的转到。

if "%version%"=="1" goto :TRUE if "%version%"=="2" goto :TRUE REM do something else echo neither 1 or 2 :( goto :eof :TRUE REM do something echo 1 or 2 :)

setlocal EnableDelayedExpansion set wantedVersions=/1/2/ if "!wantedVersions:/%version%/=!" neq "%wantedVersions%" ( echo Version %version% is 1 or 2,do something ) else ( echo Version %version% is NOT 1 or 2,do something other )

这个表达式: "!wantedVersions:/%version%/=!" 意思是:“在wantedVersion中消除字符串”/%version%/“;这样如果版本是1或2,那么这个值将会被消除,结果将会与原来的不同=> version是1或2。需要避免版本= 12的错误识别。

是的,我知道这种方法看起来很复杂,但比其他选项更简单。 试着设想一下,如果你有3个不同的值,或者4个,那么其他选项应该是什么样的。另外,这个方法也可以嵌套在其他的IF / FOR命令中,而没有任何问题。

与@Aacini的回答相同的哲学的另一种方式

@ECHO OFF set /p $var=version ? : set "$version=[1] [2]" echo %$version% | find "[%$var%]" && echo do something || echo do something else

总结

以上是内存溢出为你收集整理的batch file中的其他条件全部内容,希望文章能够帮你解决batch file中的其他条件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1257139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存