mat*_*kie 7 cmd if-statement batch-file
什么是最简单的和/或最可读的方法IF用AND在一个CMD壳呢?在伪代码中:
IF EXIST file1 AND file2:
then do stuff
ELSE:
do something else
Run Code Online (Sandbox Code Playgroud)
这个Q必须在某个地方,但我的搜索功能不适合这个.抱歉
Ran*_*ook 14
假设你在谈论DOS/Windows批处理文件,我想你想要这样的东西:
SET do_stuff=false
IF EXIST file1 IF EXIST file2 SET do_stuff=true
IF "%do_stuff%"=="true" (
REM do stuff
) ELSE (
REM do something else
)
Run Code Online (Sandbox Code Playgroud)
丑陋的根源是DOS批处理文件if语句没有和和或运营商,所以你必须要么写嵌套的if语句(这可能会导致重复的代码在随后和其他条款),或捕捉表达式的结果到一个变量然后if对其值进行声明(更多行).我赞成第二种方法来避免重复代码.也许这都是一个安全功能.:)
我在这里和这里找到了一些很好的例子(SO,偶数).但您也可以使用shell(help if或if /?IIRC)中内置的帮助系统.
@Randall Cook的一个相当不错的建议的替代方案可能是这样的:
IF EXIST file1 IF EXIST file2 (
do stuff
GOTO cont
)
do something else
:cont
get on with other stuff
Run Code Online (Sandbox Code Playgroud)