![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-18 10:33 |
共 47,814 主题排行 / 349,907 发帖 / 今日 0 篇 / 48,259 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 转贴:DOS批处理文件的妙用 |
| 可打印版本 4,379 / 18 |
| 第1楼 MYS | 发表于 2002-10-25 00:00 |
| 元老会员 发帖 1,637 积分 5,170 来自 广东佛山 | |
|
转贴:DOS批处理文件的妙用 DOS批处理文件的妙用
在大多数计算机使用者的机器中的操作系统有两种:Windows和DOS。 Dos黑黑的界面,命令行的输入方式,不能和Windows相提并论。但是现在有很多的应用程序还是基于Dos设计的,在Dos下才能发挥最好的状态,所以我们还需要Dos。 Dos不很好用,可又要用它,解决这个总是只有一个办法:加强它的功能!Dos的批处理文件就是其中的一种。 批处理文件就好像是一个宏,它是一个文本文件,其中包括的都是一些标准的Dos命令,当然还有一部分是批处理的专用控制命令。批处理文件的扩展名是bat,Dos的命令处理文件(command.com)规定批处理文件为可执行文件。只要在命令行中键入bat文件名,Dos就会一条一条地执行bat中的语句。功能就相当于在命令行打入每条命令。批处理的语句通过不同的组合,会有很意想不到的效果。下面我会用一些实例来向大家说明。 1.我们在路径设置时,如原来有路径,就会被新的覆盖。如不想覆盖,就一定要在命令行中连新路径、旧的路径一起打出来,好累啊!看看下边的程序吧: @echo off if “%1”== “” GOTO END set path=%path% path %1;%path% :END 说明: %1:第一个形参,内容是要加的路径。如无内容,则结束。 2. 一些软件在使用时,要么有路径指向它,要么就是在当前目录运行。因为这种软件只在当前的和指定的路径查找数据一类的附助文件,所以,如没有路径指向和不在当前路径,程序会说“找不到文件”。那把所有的路径加入到环境变量PATH中不就可以了吗?理论上说来是可以是,但Dos有一个限制,命令行字符数总和不可以超过127个。而PATH又是要以命令行来执行的,结果可想而知,如果超过,Dos会毫不犹豫地告诉你:环境变量溢出! 如果你想在执行完上面这种程序后再回到原路径,看看下边的程序: @echo off set tmppath=%path% set path=%1 %2 path=%tmppath% set tmppath= 说明: %1:第一个形参。为要运行软件的路径,一定要写全。 %2:第二个形参。软件运行文件名。 3.程序异常退出、中文系统花屏,怎么办?用批处理也可以解决。 这个批处理程序使用了Dos提供的几个命令。 @echo off PROMPT $P$G MODE CO80 KEYB US,437 ECHO |
|
| 第2楼 hit | 发表于 2002-10-26 00:00 |
| 初级用户 发帖 148 积分 688 来自 陕西 | |
|
perfect!!
|
|
| 第3楼 Wengier | 发表于 2002-10-26 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
好像个人电脑上的操作系统基本上只有三类吧,一种是DOS类,包括各种DOS,以及运行于DOS之上的Win3.x/9x等;第二种是OS/2、WinNT类,包括OS/2、WinNT/2K/XP/.Net等;第三种是Unix类,包括各种Unix、Linux、FreeBSD等等。
|
|
| 第4楼 copy114 | 发表于 2002-11-28 00:00 |
| 初级用户 发帖 37 积分 229 | |
|
@echo off
set tmppath=%path% set path=%1 %2 path=%tmppath% set tmppath= 我看了几次了,但还是不明白,你们能不能说详细的跟我解释一下这些命令的意思啊? |
|
| 第5楼 okghost | 发表于 2002-11-30 00:00 |
| 初级用户 发帖 14 积分 140 | |
|
[注意] 为什么你的连接是空的,难道……
|
|
| 第6楼 superdos | 发表于 2003-04-04 00:00 |
| 中级用户 发帖 43 积分 272 | |
|
简直是财富呀!!
|
|
| 第7楼 zgzjwz | 发表于 2004-05-18 00:00 |
| 初级用户 发帖 28 积分 227 | |
|
先顶上!
|
|
| 第8楼 willsort | 发表于 2004-05-19 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re Wengier:
为什么不把MacOS包含在内呢? Re MYS: 1,例子一完全可以简化为 set path=%1;%path%;DOS7以上甚至可以直接在命令行中这样使用。 2,"一些软件在使用时,要么有路径指向它,要么就是在当前目录运行。因为这种软件只在当前的和指定的路径查找数据一类的附助文件" 指定路径的原因在于DOS解释器载入可执行程序的机制,而非软件程序本身的路径问题。而且基本上没有什么程序从%path%路径中查找"数据"文件,数据文件的查找路径早期被设定在append路径中,后期则是由程序自身确定。 3,"命令行字符数总和不可以超过127个。而PATH又是要以命令行来执行的,结果可想而知,如果超过,Dos会毫不犹豫地告诉你:环境变量溢出" 在命令行中无法输入超过限制的命令行字符数,即使通过其它方法超过,也不一定会造成环境变量溢出,这取决于环境变量声誉空间的大小。所以"毫不犹豫"一说不妥。 4,"Mode CO80将屏幕显示方式恢复成为“黑白80×25”模式" ------------------------------------- CO40或CO80 指定激活彩色监视器的彩色功能,并指定每行的字符数。(注意监视器的类型) ------------------------------------- 5,"Echo |
|
| 第9楼 Kinglion | 发表于 2004-05-20 00:00 |
| 铂金会员 发帖 1,924 积分 5,798 来自 金獅電腦軟體工作室 | |
|
To willsort:
我真服了你了,你发的贴子没有一个是灌水的.建议你常来论坛来看看.帮助大家来解决问题.我也希望能向你请教一些问题. |
|
| 第10楼 zhri | 发表于 2004-05-22 00:00 |
| 高级用户 发帖 153 积分 665 | |
|
这家伙超人。
^-^ |
|
| 第11楼 nacncyclone | 发表于 2004-05-23 00:00 |
| 初级用户 发帖 1 积分 105 | |
|
good
I like it. |
|
| 第12楼 ati2004 | 发表于 2004-05-23 00:00 |
| 初级用户 发帖 9 积分 139 | |
|
多谢了,我会琢磨一下的!
|
|
| 第13楼 wjt_lily | 发表于 2004-05-23 00:00 |
| 初级用户 发帖 2 积分 110 | |
|
好久没有用DOS了,但很怀念那个时代,专一和高效!
|
|
| 第14楼 robinxie | 发表于 2004-05-23 00:00 |
| 初级用户 发帖 7 积分 127 | |
|
有没有更深入一点的批处理命令使用.据我所知它的功能很大,在外国的一些黑客们用它来进行攻击,并且在国外流行的程序大战中,使用批处理命令是相当频繁的,而且实用.
|
|
| 第15楼 SagInvoker | 发表于 2004-05-23 00:00 |
| 初级用户 发帖 38 积分 257 | |
|
RE ROBINXIE
我觉得你不应该问有多少批处理命令,而应该问问你知道多少DOS命令, 批处理的专用控制流程的命令就那么几个if for call choice echo pause rem goto shift 然后就没了,你如果不去学学哪些关于网络的DOS命令,你也不会理解你所说的什么黑客用它来攻击的问题. |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |