bat 文件多条命令的执行

我想要执行maven里的一些命令,但是中途要涉及到目录的切换,但是用了cd命令切换后,cd后面的命令就都没执行,不知道怎么回事,我想文件里面的内容全部执行,其中bat的文件内容如下:
mvn eclipse:eclipse>1.txt
cd ../uniframework
mvn eclipse:eclipse>2.txt
cd ../unibizibe
mvn eclipse:eclipse>3.txt
cd ../unilaputa
mvn eclipse:eclipse>4.txt
结果就产生了一个1.txt的文件第一条命令的输出信息到了1.txt里面,其他的都没有执行,也没有文件产生。另外写了
if exsit 1.txt
del 1.txt 好像会报错

下面这样会把所有输出文件写到批处理所在路径。

mvn eclipse:eclipse>%~dp1.txt
cd ../uniframework
mvn eclipse:eclipse>%~dp2.txt
cd ../unibizibe
mvn eclipse:eclipse>%~dp3.txt
cd ../unilaputa
mvn eclipse:eclipse>%~dp4.txt

如果还不行的话,把第一行echo off删除,最后加pause
运行后看看提示信息,需要的话粘贴上来帮你分析分析。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-20
楼上的代码是错误的

@echo off
set a=%~dp0
mvn eclipse:eclipse>%a%1.txt
cd ../uniframework
mvn eclipse:eclipse>%a%2.txt
cd ../unibizibe
mvn eclipse:eclipse>%a%3.txt
cd ../unilaputa
mvn eclipse:eclipse>%a%4.txt

这个如果不行的话,问题可能就出在cd命令上,
如果是这样,可以用下面这个

pushd 和cd用处差不多,但是pushd还可以指定盘符,更方便

@echo off
set a=%~dp0
mvn eclipse:eclipse>%a%1.txt
pushd ../uniframework
mvn eclipse:eclipse>%a%2.txt
pushd ../unibizibe
mvn eclipse:eclipse>%a%3.txt
pushd ../unilaputa
mvn eclipse:eclipse>%a%4.txt