Java或C#调用命令行批处理命令如何获得返回值

@echo off
dump -uroot -p1234 --database gbase > 1.sql 2>Nul
if %errorlevel%==0 goto next
goto error
:next
echo OK
goto end
:error
echo ERROR
:end 

 

   [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

 

先看看如上的批处理,其中一个命令是dump,其它的参数我们就不说了。2个点

> 1.sql 这个是默认的输出,也就是内容输出

2>Nul 这个是错误输出,也就是如果 dump出现了异常,则不会显示在屏幕上,而是被丢弃到 nul

%errorlevel% 这个是前一个命令执行的返回值,0代表正常

上述逻辑是:

执行一个程序

如果正常,则转到下一个命令,打印出OK,然后转到结束

如果异常,则转到error处理,打印出 ERROR,转到结束

打印内容是随意的

我们的java/C#程序可以读取进程的输出内容,并判断是否批处理执行成功

时间: 2024-10-01 14:05:04

Java或C#调用命令行批处理命令如何获得返回值的相关文章

windows 批处理命令-window 批处理命令 问题

问题描述 window 批处理命令 问题 我写了一个window批处理的文件, 发现这样子写有一个问题,如果没启动浏览器时,打开批处理文件,只会打开第一个网页(http://locohost/1.html),如果浏览器已经启动,都可以全部正常打开,而我需要在浏览器没有启动的情况下打开批处理文件的时候,全部网页都打开,请问一下应该怎么做?在线等..... 解决方案 加一个/d参数 start /d "C:Program FilesInternet Explorer" IEXPLORE.E

message eceived-怎么样调用mina的messageReceived中得到的返回值

问题描述 怎么样调用mina的messageReceived中得到的返回值 public void messageReceived(IoSession session, Object packet) throws Exception { System.out.println("Received == " + packet.toString()): } mina中有个messageReceived方法,我已经从客户端把消息发送给服务器,也成功收到了服务器返回的数据,但是我现在想在另一个类

c#调用c++开发的dll const char* 返回值接收问题

原文:c#调用c++开发的dll const char* 返回值接收问题 用c#调用视频接口相关的dll,dll使用c++开发. c++接口定义如下: PLATFORM const char* Plat_GetValueStr(const char* propertyName, int iUserHandle);   c#接口定义如下: [DllImport(@"Platform.dll", EntryPoint = "Plat_GetValueStr", Char

Java如何调用可执行文件和批处理命令

执行 引言    Java 是种跨平台的语言,我们经常碰到需要通过Java调用windows下某些程序.有些第三方厂商如(ANT),也提供了调用windows下可执行程序的方法,但我们往往需要调用一些批处理命令.而java 却不提供.    这里,我采用一种变相的调用方法,使得Java 能调用批处理命令.如果您有更好的方法,希望您能告诉我. 前期准备[/b]    Quick Batch File (De)Compiler     将任何BAT.CMD批处理脚本编译为EXE文件!  开始1.  

命令行 批处理-如何将多个文件拖入命令行并获取所有文件的路径

问题描述 如何将多个文件拖入命令行并获取所有文件的路径 我将多个文件拖入命令行,只显示第一个文件的路径,我只能一个一个拖入,很麻烦. 如何做到多个文件拖入,并显示所有文件的路径 解决方案 你好,你说的问题我试了,也不知道怎么解决. 但你的需求是不是获取文件全路径/相对路径的简便方法? 1.进入文件所在目录,在地址栏输入"cmd",然后回车,可以进入cmd窗口并且直接进入到当前目录 2.直接输入dir命令,可以直接显示出所有的文件的相对路径 3.你可以将内容copy到ue编辑器中用列模式

【转】C#执行命令行程序/命令并获取输出结果

        //执行命令行命令,获取输出结果        //cmd_filename: DOS程序文件名        //arguments: 命令行参数        public static string ExecCMD(string cmd_filename,string arguments)        {                        System.Diagnostics.ProcessStartInfo psi = new System.Diagnost

问题 - Android - 命令行adb命令出现error

在命令行敲adb命令出现error,多半是端口被占用,adb服务无法启动原因可能是电脑上安装了360手机管家,豌豆荚等手机管理应用 解决方法:     在命令行敲adb nodeamon server 命令,会出现cannot bind "tcp:端口号"提示     然后敲netstat -aon命令根据上述提示的端口号找到相应进程的PID,     最后在任务管理器中根据PID找到相应的进程,结束掉即可.

mysql命令行常用命令

第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招.增加新用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by

c#调用c++的DLL,不能正确返回值,高手帮忙解决,急!!!!

问题描述 有一个C++生成的dll,名称为test.dll,入口点为_datadown@12其中包含一个方法stringdatadown_sp(stringinputstring,stringtype,refstringoutstring).其中,type值为固定的,TYPE="U".在C#中调用后,不能正常返回值.正常运行的结果应该返回两个值,一个是datadown_sp.一个是outstring.但调用后,datadown_sp返回乱码,outstring返回初始定义的值.代码如下