如何用一个批处理文件调用另一个批处理文件时不成功

我想用一个批处理文件调用另外一个批处理文件。但是不知道哪里有问题,总是不能让被调用的批处理文件执行成功。单独执行被调用的1.bat是可以更改文件拓展名。但是用主批处理文件... 我想用一个批处理文件调用另外一个批处理文件。但是不知道哪里有问题,总是不能让被调用的批处理文件执行成功。单独执行被调用的1.bat 是可以更改文件拓展名。但是用
主批处理文件:d:\A.bat
@echo off
call D:\BAT\合并文本\文本片段\源\B.bat
pause
被调用的批处理文件:D:\BAT\合并文本\文本片段\源\B.bat
@echo off
pause
for /f "delims=" %%b in ('dir /a-d/b *.qrt') do (ren %%b %%~nb.txt)
pause
展开
 我来答
albumin
推荐于2016-04-02 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2309万
展开全部
这个A.bat在D盘根目录下,所以修改的是D盘根目录下的文件

修改D:\BAT\合并文本\文本片段\源\B.bat,让它执行时在自己的目录下,修改如下
@echo off
pause
pushd "%~dp0"
for /f "delims=" %%b in ('dir /a-d/b *.qrt') do (ren %%b %%~nb.txt)
popd
pause
更多追问追答
追问
是不是加一句pushd。。。popd就OK了?
追答
pushd "%~dp0"是将当前文件夹修改为被调用批处理文件所在文件夹
popd是返回到pushd修改之前的文件夹
这个是根据B.bat需要在其所在文件夹执行加的,OK不OK试试就知道了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式