Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理脚本在检查后停止_Batch File_Cmd - Fatal编程技术网

Batch file 批处理脚本在检查后停止

Batch file 批处理脚本在检查后停止,batch-file,cmd,Batch File,Cmd,我有一个批处理脚本,如果git和maven可用,它会出错 @echo off git --version >nul 2>&1 && ( echo [OK] Git check OK ) || ( echo [Error] Git not available! EXIT /B 2 ) mvn --version >nul 2>&1 && (

我有一个批处理脚本,如果git和maven可用,它会出错

@echo off
git --version >nul 2>&1 && ( 
        echo [OK] Git check OK
    ) || ( 
        echo [Error] Git not available!
        EXIT /B 2
    )
mvn --version >nul 2>&1 && ( 
        echo [OK] Maven check OK 
    ) || ( 
        echo [Error] Maven not available! 
        EXIT /B 2
    )

echo Not printed!
问题是脚本在检查maven之后停止。它打印:

[OK] Git check OK
[OK] Maven check OK
最后一个回显被跳过。

根据mvn,应该在前面加上call,因为它本身就是一个批处理文件

@echo off
git --version >nul 2>&1 && ( 
        echo [OK] Git check OK
    ) || ( 
        echo [Error] Git not available!
        EXIT /B 2
    )
call mvn --version >nul 2>&1 && ( 
        echo [OK] Maven check OK 
    ) || ( 
        echo [Error] Maven not available! 
        EXIT /B 2
    )

echo Not printed!

我没有git或mvn,但是如果我尝试使用
dir
,输出就可以了。到底是哪个操作系统?
git
mvn
都是可执行文件,还是任何一个都是批处理文件?对于批处理文件,请在调用…@ThomasWeller Windows 10之前。它适用于其他命令。看起来像是
mvn
特定问题。@aschipfl mvn是批处理文件。就这样。我将脚本更改为
callmvn
,现在它可以工作了。如果你写得像我的回答,我会接受的。谢谢你太快了。。。