皮皮帮您忙之二“玩玩批处理”
今天我来给大家讲解“修改系统启动菜单的时间”的批处理运行过程及原理。有兴趣的朋友不妨看看。原批处理的内容如下。
@echo off
title修改系统启动菜单的时间
MODE con: COLS=38 LINES=16
echo.
echo ^^^^皮皮欢迎你!!!
echo.
echo 不要忙
echo.
echo 我来帮你修改系统启动菜单的时间
echo.
echo.
set/p time=请输入想要的启动时间(秒):
c:
type boot.ini>boot.txt
attrib -h -r -s boot.ini
type boot.txt|find "boot loader" /i>boot.ini
echo timeout=%time% >>boot.ini
type boot.txt|find "boot loader" /i /v|find "timeout" /i /v>>boot.ini
attrib +s +r +h boot.ini
del boot.txt
原批处理可到以下网址下载(http://www.oachn.net/thread-107498-1-1.html)也可以自行编写,方法如下:在要建立批处理的地方点击右键→新建→文本文档→打开新建的文本文档。将以上蓝色文字复制的新建的文本文档内→保存→关闭→修改该文档的文件名将扩展名改为.bat这样批处理文件就建成了。双击运行该文件,效果与下载的一样。
为了便于看到批处理运行的模式我再向大家介绍一个批处理命令,pause 暂停命令当批处理运行到此命令时暂停按任意键继续执行。
为了安全起见我们将boot.ini文件复制到D盘根目录下,将批处理当中的C:改为D:。
为了简单起见我们只试运行文件的后半部分将前半部分删除。具体如下:
set/p time=请输入想要的启动时间(秒):
D:
type boot.ini>boot.txt
attrib -h -r -s boot.ini
type boot.txt|find "boot loader" /i>boot.ini
echo timeout=%time% >>boot.ini
type boot.txt|find "boot loader" /i /v|find "timeout" /i /v>>boot.ini
attrib +s +r +h boot.ini
del boot.txt
然后在每行之间插入暂停命令结果如下:
set/p time=请输入想要的启动时间(秒):
pause
cd\
D:
pause
type boot.ini>boot.txt
pause
attrib -h -r -s boot.ini
pause
type boot.txt|find "boot loader" /i>boot.ini
pause
echo timeout=%time% >>boot.ini
pause
type boot.txt|find "boot loader" /i /v|find "timeout" /i /v>>boot.ini
pause
attrib +s +r +h boot.ini
pause
del boot.txt
//结束
pause
好了你可以将上面的文件直接拷到文本文件(记事本)当中将扩展名修改为.bat 也可以自己修改。
在试运行时我发现一个问题,如果批处理在D盘的子文件夹内则D:命令不能保证进入D盘的根目录所以又加了一项cd\用来保障无论任何情况都能够一定进入到根目录下。
下面我来带领大家实际操作一下观看一下效果。
双击批处理命令。如下图,
set/p time=请输入想要的启动时间(秒):
这句的命令是给函数“time”赋值。输入6回车(意思是将系统启动菜单的时间设为6秒)
cd\
D:
这句的意思是进入到根目录,进入到D盘。看到了吗红圈的标注?
type boot.ini>boot.txt
这句的意思是将boot.ini文件的所有内容写到boot.txt文件内。这时你会看到在D盘的根目录下多出了一个boot.txt文件双击将其打开并打开boot.txt文件进行对比。你会发现两者是一样的。
(待续) 本帖最后由 pijianqiang 于 2010-1-14 20:24 编辑
attrib -h -r -s boot.ini
这句的命令是去掉boot.ini文件的隐含属性,只读属性和系统文件属性。运行到这里你就会发现boot.ini文件变的透亮了原因是它不再是隐含文件了。右击boot.ini文件查看属性。怎么样文件的隐含和只读属性都被取消了吧。
带有隐含属性的BOOT.INI文件。去掉隐含属性后文件变得透亮了。
查看文件属性你会发现
本帖最后由 pijianqiang 于 2010-1-14 20:46 编辑
type boot.txt|find "boot loader" /i>boot.ini
这句是将 boot loader 写入到 boot.ini 这时你打开boot.ini文件会发现里边只有这句了。原因是“>”写入会删改原文件。下边的“>>”写入是在原文件后边写入不会删除原文件。
echo timeout=%time% >>boot.ini
将“timeout=%time%”写入time=6是你在开始给time赋予的值,开始你在“请输入想要的启动时间(秒):”后边输入7那么time=7所以这里显示“timeout=6”
type boot.txt|find "boot loader" /i /v|find "timeout" /i /v>>boot.ini
这句是将boot.txt当中"boot loader" "timeout"以外的语句写入到boot.ini
attrib +s +r +h boot.ini
这句的命令是添加boot.ini文件的隐含属性,只读属性和系统文件属性。运行到这里你就会发现boot.ini文件变的不再透亮了原因是它是隐含文件了。右击boot.ini文件查看属性。怎么样文件的隐含和只读属性都被填上了吧。
del boot.txt
这句是删除boot.txt文件
好辛苦呀!不知道大家弄懂了吗? em48em30 em07em30 想学可是没的能力 想学可是没的能力
caijiawu 发表于 2010-1-18 21:55 http://www.oachn.net/images/common/back.gif
努力吧一分辛劳一分收获 谢谢皮皮的支持 我会努力的不过我有自己的方向 哈哈 em07em19 呵,你真有心!