中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 15:55
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 求助,一个关于call调用批处理的问题
可打印版本  845 / 6
第1楼 emote 发表于 2007-05-30 17:15
初级用户 发帖 41 积分 114
求助,一个关于call调用批处理的问题
在纯DOS下由a盘中的一个批处理文件用call 命令调用D盘指定目录下的另一个批处理文件,却提示“batch file missing”,这是什么原因?

例 a:\a.bat文件内容如下

call d:\sdfsd\b.bat

程序运行后出现:
batch file missing

而在上述提示下面跟着直接输入 b.bat ,b.bat就会开始被执行



另外想问一下,删除注册表中Runonce下面的某一值的批处理应该怎样写,谢谢!
第2楼 NaturalJ0 发表于 2007-05-30 17:17
银牌会员 发帖 533 积分 1,181
b.bat 在哪儿呢?你当前目录是哪儿?
第3楼 emote 发表于 2007-05-30 17:28
初级用户 发帖 41 积分 114
b.bat在d:\sdfsd\下, 当前目录是在a:盘

就是奇怪调用不成,而在调用失败提示下直接输入b.bat又可以运行
第4楼 emote 发表于 2007-05-30 17:40
初级用户 发帖 41 积分 114
我原先的思路是这样的
--------------------------------------------------------------------------------------------------
在Windows下运行 a 目录中的 "创建.bat" 批处理,其内容如下:

echo @echo off >c:\load.bat
echo %~d0 >>c:\load.bat
set dp=%~sdp0
set dp=%dp:~0,-1%
echo cd %dp% >>c:\load.bat
echo a:\format c: /q/s/autotest >>c:\load.bat

----------------------------------------------------------------------------------------------------
系统重启并由A盘(镜像盘)引导进入纯DOS,A盘的autoexec.bat内容如下
smartdrv.exe
call c:\load.bat
Winnt.bat

问题: “Winnt.bat”与 "创建.bat" 都在同一目录中(a目录), 按道理在调用load.bat后,当前路径应该是a目录,接下来执行winnt.bat应该是没问题,但结果仍是格式化完系统后出现了 batch file missing 的提示,而在提示符下方直接输入 winnt 这个批处理又会被执行?
第5楼 emote 发表于 2007-05-30 17:54
初级用户 发帖 41 积分 114
有一点要说明的是 winnt.bat 不是普通的批处理文件,它的作用是调用其下一级目录中的windows安装程序和应答文件,其内容如下:

.\i386\winnt /s:.\i386 /u:.\i386\winnt.sif

我试过在纯DOS下直接运行winnt.bat可以启动安装程程,但是在批处理中用call 去调用它,却是无法执行,不知有什么办法可以解决?
第6楼 emote 发表于 2007-05-30 18:08
初级用户 发帖 41 积分 114
这里顺便问一下,一个批处理文件有多条命令,当批处理文件运行到中间时,该文件自身所在的盘被格式化,那么剩下的命令还会不会继续执行?
第7楼 huahua0919 发表于 2007-11-26 10:38
银牌会员 发帖 780 积分 1,608
那系统一定会提示错错,找不到文件了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023