中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 18:55
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [DOS基础]一个启动盘Autoexec.bat的注释
楼 主 [DOS基础]一个启动盘Autoexec.bat的注释 发表于 2004-07-23 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
在无忧启动论坛看到有人问一个批处理文件每条命令是做什么用的,随手简单写了一下,没有详细到每条命令都写注释,相信你能明白原因,嘿嘿~~~,算是对DOS新手的入门训练吧。这个批处理写的并不太好,但用来做一个标准的DOS启动盘是足够了。
注释在每一行命令的上面,以::开头

:: 关闭命令回显,执行时不显示每条命令的命令行,@表示本行也不显示
@ECHO OFF
:: 设置DIR命令的环境变量参数,使其默认列表时排序
SET DIRCMD=/O
:: 设置环境变量(虚拟盘的盘符)ramd为z:
set ramd=z:
:: 运行A盘的虚拟磁盘程序生成2M的虚拟磁盘在Z:盘
a:\xmsdsk 2048 %ramd% /y /t
:: 显示换行
echo.
:: 显示Preparing base files to drive Z: ...
echo Preparing base files to drive Z: ...
echo.
:: 建立z:\bin目录
mkdir %ramd%\bin
:: 建立z:\temp目录
mkdir %ramd%\temp
:: 设置环境变量tmp、temp为z:\temp
set tmp=%ramd%\temp
set temp=%ramd%\temp
:: 设置搜索路径path
set path=%ramd%\bin
:: 复制文件a:\command.com到z:\,>nul表示将命令执行结果输出到空设备,即不显示命令执行结果
copy a:\command.com %ramd%\ >nul
:: 设置环境变量comspec为z:\command.com,这个变量用来指定系统使用的command.com的位置
set comspec=%ramd%\command.com
:: 继续复制程序到虚拟磁盘
copy a:\extract.exe %ramd%\bin >nul
copy a:\device.com %ramd%\bin >nul
:: 解压缩a:\ebd.cab到z:\bin
extract /y /l %ramd%\bin /e a:\ebd.cab >nul
:: 调入鼠标驱动, lh表示调入高端内存
lh mouse >nul
:: 调入doskey
lh doskey >nul
:: 清除屏幕显示
cls
:: 显示提示信息
echo Extracting device driver(s)...
mkdir %ramd%\device
extract /y /l %ramd%\device /e a:\cdrom.cab >nul
:: 用device命令调入光驱驱动
device %ramd%\device\vide-cdd.SYS /D:MSCD000
cls
echo.
echo Preparing to start your computer.
echo This may take a few minutes. Please wait...
echo.
:: 运行光驱接口程序,例光驱可用
lh mscdex /D:MSCD000
:: 调入磁盘缓存程序smartdrv
lh smartdrv
:: 调用findcd.bat批处理文件,应该是用来查找光驱给分配到哪个盘符了
call findcd.bat
echo.
echo The diagnostic tools were successfully loaded to drive Z:.
echo.
:: END标签
:END
:: 将当前盘切换为Z:
%ramd%
:: 调用gcdrom.bat,不知道这个批处理是做什么用的。
call gcdrom.bat
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2 发表于 2004-07-24 00:00 ·  中国 山西 太原 联通
初级用户
积分 106
发帖 3
注册 2004-07-23 00:00
UID 28881
性别 男
状态 离线
hao
3 发表于 2004-07-25 00:00 ·  中国 广东 韶关 联通
初级用户
积分 159
发帖 11
注册 2004-01-26 00:00
UID 16098
性别 男
状态 离线
好东西!!!
4 发表于 2004-07-29 00:00 ·  中国 上海 宝山区 电信
初级用户
积分 103
发帖 1
注册 2004-07-16 00:00
UID 28518
性别 男
状态 离线
hao
5 发表于 2005-09-22 00:21 ·  中国 河南 驻马店 联通
初级用户
★★
积分 175
发帖 64
注册 2005-09-15 14:40
UID 42531
性别 男
状态 离线
我的autoexec.bat开机为什么不自动运行,是在dos下的。我是用我是用copy 的方法装的dos。请问师傅为什么啊?
6 发表于 2005-09-22 19:45 ·  中国 安徽 宿州 泗县 电信
银牌会员
★★★
积分 1,339
发帖 595
注册 2004-05-26 00:00
UID 25306
性别 男
来自 安徽 宿州
状态 离线
autoexec. bat必须放在启动盘的根目录下。
7 发表于 2006-06-28 10:00 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 866
发帖 415
注册 2005-12-04 11:19
UID 46459
状态 离线
郑重声明:

这样的贴子如果不顶,那就枉为菜鸟了,我以前为了弄懂启动盘里的这个批处理花了不少的时间,但总是有几个命令不知何意,今天看到这个贴子总算知道它是啥意思了.所以说嘛好的批处理应该有说明的.

再次感谢,想信每个人都是从菜鸟一步一步成长起来的.
8 发表于 2006-06-28 10:44 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
UID 42843
性别 男
来自 四川南充
状态 离线
9 发表于 2006-09-26 20:35 ·  中国 重庆 巴南区 电信
初级用户
积分 31
发帖 18
注册 2006-09-24 21:01
UID 63557
状态 离线
dddddd
10 发表于 2006-09-26 21:10 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
顶~~~~
11 发表于 2007-03-09 22:07 ·  中国 广东 东莞 电信
新手上路
积分 18
发帖 8
注册 2007-02-24 14:55
UID 80084
性别 男
状态 离线
好东西`最近做PXE启动菜单也研究了下!!
12 发表于 2007-03-18 12:58 ·  中国 广东 湛江 电信
初级用户
积分 26
发帖 14
注册 2007-03-17 22:43
UID 82086
性别 男
状态 离线
正需要,
谢谢了
13 发表于 2007-03-18 23:12 ·  中国 广东 广州 电信
中级用户
★★
脚本爱好者
积分 238
发帖 93
注册 2007-03-11 13:38
UID 81417
性别 男
来自 GZ
状态 离线
我在学制作启动盘时,通常都是找来现成的进行修改,其中命令行的意思半知半解,多谢楼主的解释。
14 发表于 2007-03-20 09:28 ·  中国 湖北 襄阳 电信
新手上路
积分 12
发帖 5
注册 2006-10-02 21:24
UID 64339
状态 离线
好啊我刚学,正用得上,收藏等想学的时候再认真看....
15 发表于 2007-03-28 05:28 ·  IANA 局域网IP(Private-Use)
初级用户
★★
积分 186
发帖 92
注册 2007-03-27 08:20
UID 83047
性别 男
状态 离线
先顶了,总觉得 >nul这个东西很难理解,

在XP的CMD里不执行的,还是用

>nul

好一点,不知在纯DOS中是什么情况。
论坛跳转: