IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO SERVICE1
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO SERVICE2
IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 GOTO SERVICE3
IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 GOTO SERVICE4
IF ERRORLEVEL 5 GOTO END
PAUSE
:SERVICE1
echo.
SET /P a= 请输入Oracle数据库本地连接名称:
SET /P b= 请输入Oracle数据库表空间说在路径(结尾加"\"):
SET /P c= 请输入Sys 用户密码:
call 目录下\updata_main1.bat %a% %b% %c%
在call之后直接关闭dos 窗口,不能回到主窗口
[ Last edited by shanjiyong on 2007-11-2 at 11:24 AM ]作者: shanjiyong 时间: 2007-11-2 11:25 请论坛的兄弟姐妹们支持一下作者: lxmxn 时间: 2007-11-2 12:54
比如:
echo hello,world>C:\windows\system\helle.txt作者: shanjiyong 时间: 2007-11-2 14:13 lxmxn
我试过了,我通过call调另外一个b.bat ,b.bat中有call c.bat 这个过程中提示找不到执行sql文件的路径,我要怎么解决!作者: shanjiyong 时间: 2007-11-2 14:15 对了,所有的bat中都使用的是相对路径作者: shanjiyong 时间: 2007-11-2 14:30 大体是这么写的
a.bat
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO SERVICE1
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO SERVICE2
IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 GOTO SERVICE3
IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 GOTO SERVICE4
IF ERRORLEVEL 5 GOTO END
PAUSE
:SERVICE1
echo.
SET /P a= 请输入Oracle数据库本地连接名称:
SET /P b= 请输入Oracle数据库表空间说在路径(结尾加"\"):
SET /P c= 请输入Sys 用户密码:
call 目录下\b.bat %a% %b% %c%
最可能的结果是3.bat和b.bat不在同一个目录中,或者不存在了。作者: 不得不爱 时间: 2007-11-4 11:33 3.bat不会和b.bat同1个目录吧?如果是的话就会找不到文件!
a.bat
path %path%;目录下
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO SERVICE1
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO SERVICE2
IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 GOTO SERVICE3
IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 GOTO SERVICE4
IF ERRORLEVEL 5 GOTO END
PAUSE
:SERVICE1
echo.
SET /P a= 请输入Oracle数据库本地连接名称:
SET /P b= 请输入Oracle数据库表空间说在路径(结尾加"\"):
SET /P c= 请输入Sys 用户密码:
call 目录下\b.bat %a% %b% %c%作者: shanjiyong 时间: 2007-11-4 15:34 谢谢两位版主的帮助,我去试试作者: greenworld 时间: 2007-11-4 16:18 就是路径指向问题,当被CALL的文件可以双击执行的时候,被另外一个程序CALL后不一定可以执行,因为被CALL后,这个被CALL的程序的路径指向是CALL它的那个程序的路径,而不是被CALL的程序所在的路径