批处理运行另一个批处理出现问题

来源:百度知道 编辑:UC知道 时间:2024/05/07 10:54:50
批处理A调用批处理B,批处理A B不是用一目录下,批处理B的是这样的,@echo off
1.exe

出现问题是批处理A调用批处理B的时候,提示找不到1.exe,call ,start都使用过,都不行,意思是,批处理B跑到批处理A目录下执行了,请问高手,要怎么才能使批处理B在其目录下运行?

楼上说的可行,就是调用其它程序时都用绝对路径,但是绝对路径的缺点是太繁琐,而且一旦写好,所有文件所在的目录都不能再被改变
可以用你说的方法,在运行中改变目录。
假设b.bat的路径为d:\abc\b.bat,在a.bat调用b.bat之前先切换目录:
d:
cd d:\abc
call b.bat
第一句如果a和b都在D盘可以不写,注意这时调b.bat时只需要写call b.bat就可以了,不要再加其它限定路径,因为当前目录已经是b所在的目录了。
b和1.exe返回后,可能需要再次将目录改回来,不然无法直接调用其它a所在目录下的程序

编写的时候加入需执行BAT的路径不就行了?
比如: call c:\B.bat

用START /B
CALL调用
START /B是在同一个CMD窗口中,/I是一个新的窗口
CALL用来调用BAT文件用的

标准的办法是pushd和popd

我也遇到了和你一样的问题。
一楼的我以前试过,但是没用啊

用不着这么麻烦,直接把1.exe 绝对路径输入就OK,
再不然就向83299387gvirus所说的先到1.exe的路径下再执行批处理。