[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]如何调用子目录中的批处理并在子目录执行?

本帖最后由 y169168712 于 2011-4-5 22:58 编辑

文件位置
D:\1.bat
D:\ABC\2.bat
D:\ABC\a.rar


1.bat内容
call D:\ABC\2.bat


2.bat内容
"%ProgramFiles%\WinRAR\RAR.exe" x -y a.rar

a.rar内容
XX.mp3

运行1.bat出现错误  系统提示找不到a.rar


我想用call命令将文件XX.mp3解压到D:\ABC里,不知道是哪里出了问题
后来又尝试使用start命令还是出现错误
1

评分人数

    • tmplinshi: 感谢给帖子标题标注[已解决]字样PB + 2
一个人,征服了自己,也就征服了世界。

本帖最后由 hanyeguxing 于 2011-4-5 19:57 编辑

方法1:如果想在 1.bat 中使用 call 则这样写:
  1. cd/d ABC
  2. call 2.bat
复制代码
方法2:也可以使用 cd 等命令在2.bat中强制工作目录为%~dp0,例如:
  1. pushd "%~dp0"
  2. "%ProgramFiles%\WinRAR\RAR.exe" x -y a.rar
  3. popd
复制代码
这样2.bat不再受父批处理的影响,本身也不会影响父批处理
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

  1. start /d "D:\ABC" 2.bat
复制代码
1

评分人数

TOP

返回列表