Board logo

标题: [注意]批处理诊断专室 [打印本页]

作者: 如是大师     时间: 2003-5-7 00:00    标题: [注意]批处理诊断专室

请各位批处理文件有什么问题或心得的都往这里贴
作者: lzcat     时间: 2003-5-7 00:00
关于WBAT的一点问题请高手帮忙!
我的文件是这样写的:

call w.bat box @text.bat:find

:find
Please enter your name?

name: [$ name            ]                        

        [ 确 定 ]     [ 取 消 ]
之后呢?当我运行这个文件的时候,它就会出个对话框叫我写入name。但当我添完name后。我想把我所添的内容存到另一个文本文件里。那应该怎么写这个批处理文件呢?
谢谢!

作者: dsm75     时间: 2003-5-7 00:00
call w.bat cls ! box @%0 :find
:find
Plase enter your name
name: [$ name,u            ]                        

        [ 确 定 ]     [ 取 消 ]
::
if errorlevel 2 goto err
echo %name% >>youfiles
作者: 铃木柳生     时间: 2003-5-7 00:00
为什么我用记事本编写的批处理比较慢

@"D:\QQ2000c1230MuziPlus\Tencent\QQ.exe"
@"C:\Program Files\Internet Explorer\IEXPLORE.EXE"
exit

作者: 如是大师     时间: 2003-5-8 00:00
4楼的,把你的config贴上来看看。。
作者: dsm75     时间: 2003-5-8 00:00
call w.bat cls ! box @%0 :find
if errorlevel 2 goto err
echo %name% >>youfiles
goto next
:find
Plase enter your name
name: [$ name,u            ]                        

        [ 确 定 ]     [ 取 消 ]
::
:next
上面有问题,是这个
作者: 铃木柳生     时间: 2003-5-8 00:00
config是什么?
作者: Wengier     时间: 2003-5-9 00:00
CONFIG就是C:\CONFIG.SYS呢。
作者: blackjack     时间: 2003-5-11 00:00
[求助] 关于autoexec.bat的问题
我最近买了一张无忧启动盘。在研究它的启动时有一些问题。希望各位大师给我解答一下。在autoexec.bat文件里有一些语句不懂是什么意思。
@ECHO OFF
PROMPT $P$G
set temp=c:\
set tmp=c:\

SET EXPAND=YES
SET DIRCMD=/O:N
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
call setramd.bat %LglDrv%
path=%RAMD%:\;%RAMD%:\BAT;%CDROM%:\;%CDROM%:\UCDOS;%CDROM%:\BOOT;A:\;C:\;
copy get.exe %RAMD%:\ > NUL
copy attrib.exe %RAMD%:\ > NUL
copy command.com %RAMD%:\ > NUL
copy edit.com %RAMD%:\ > NUL
copy format.com %RAMD%:\ > NUL
copy fdisk.exe %RAMD%:\ > NUL
copy deltree.exe %RAMD%:\ > NUL
copy restart.com %RAMD%:\ > NUL
copy readme.exe %RAMD%:\ > NUL
copy mouse.* %RAMD%:\ > NUL
copy xxcopy.exe %RAMD%:\ > NUL
rem copy extract.exe %RAMD%:\ > NUL
set comspec=%RAMD%:\command.com
LH MSCDEX.EXE /D:MSCD000 /L:%CDROM%

CDA %CDROM% > NUL
IF errorlevel 1 GOTO NEXTCD
IF NOT EXIST %CDROM%:\BOOT\TW.EXE GOTO NEXTCD
GOTO BOOT

:NEXTCD
CALL CHCDROM.BAT C D E F G H I J K L M N O P Q R S T U V W X Y Z
GOTO BOOT

:BOOT
LH SMARTDRV.EXE
LH DOSKEY.COM > NUL
Set LglDrv=

MD %RAMD%:\TEMP
XXCOPY /E /H %CDROM%:\BOOT\EBD %RAMD%:\ > NUL
%RAMD%:
CD \
LH MOUSE.COM > NUL
MENU.BAT

其中不懂的语句有如下:
1、 SET EXPAND=YES
2、 SET DIRCMD=/O:N
3、 set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
4、 set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C


作者: Wengier     时间: 2003-5-11 00:00


  Quote:
以下是引用blackjack在2003-5-11 19:49:12的发言:
[求助] 关于autoexec.bat的问题 
我最近买了一张无忧启动盘。在研究它的启动时有一些问题。希望各位大师给我解答一下。在autoexec.bat文件里有一些语句不懂是什么意思。
其中不懂的语句有如下:
1、 SET EXPAND=YES
2、 SET DIRCMD=/O:N
3、 set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
4、 set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C

那是MS弄出的一些复杂、缓慢、而又不实用的查找内存盘的办法,被无忧也拿去直接用了。现在已有比这好得多的解决方法了,所以以上均不必理会。比如我们做的最新启动盘中就不可能找到这些乱七八糟的东东。
作者: jzcjgh     时间: 2003-5-12 00:00

谢谢!


[此贴子已经被作者于2003-5-12 22:00:36编辑过]



作者: 铃木柳生     时间: 2003-5-17 00:00
CONFIG.SYS
我在C盘里面没有找到啊
怎么办呢?
winxp
作者: 如是大师     时间: 2003-5-18 00:00
可以自己写的。。。。
作者: hunome     时间: 2003-5-18 00:00
听君一席话,胜读十年书!
Thanks a lot!
作者: ah_B     时间: 2003-5-19 00:00
我最近用c编了一个开机密码程序password.exe,想把它加到autoexec里加完以后是这样的:
SET windir=C:\WINDOWS
SET winbootdir=C:\WINDOWS
SET COMSPEC=C:\WINDOWS\COMMAND.COM
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
SET PROMPT=$p$g
SET TEMP=C:\WINDOWS\TEMP
SET TMP=C:\WINDOWS\TEMP
c:\password
我运行autoexe时一切正常;
可是重启后,c:\password就没了,又回了原样,搞不懂,望楼长赐教
作者: ah_B     时间: 2003-5-19 00:00
我用的是winme
作者: 我爱DOS     时间: 2003-5-19 00:00
我一直也是搞不清这个问题,我也用ME啊
那个。BAT就好象是专门给环境变量用的
作者: 如是大师     时间: 2003-5-20 00:00
16楼的问题可能是出在password.exe里而不是autoexec里。。。
作者: ah_b     时间: 2003-5-20 00:00
哦?我在检查一下
作者: ah_B     时间: 2003-5-20 00:00
我又重新检查了一遍,还是一样的。
刚编辑完autoexec.bat后,在dos下运行很正常。会提醒你输入密码。可是一重启autoexec就回了原样。我觉得还是autoexec.bat的问题。
如果需要,我可以把password.exe连同源代码mail过去,或者干脆把源代码贴出来。
作者: ah_B     时间: 2003-5-20 00:00
我得重启里面没有直接进入dos那一项,是不是dos那一套在me里面不适用了。
不知大师还有什么其他招没有,只要能使password.exe在开机前运行就行。
作者: 我爱DOS     时间: 2003-5-20 00:00
如是大师:
       我也是在windows下,在AUTOEXEC里加上命令,在不重启的情况下是很正常,但
重启后就恢复未加前的状态,原来的就变成AUTOEXEC.log
         这是怎么会事啊
作者: 如是大师     时间: 2003-5-20 00:00
你们的me装了dos实模式补丁没有????
作者: ah_B     时间: 2003-5-21 00:00
没听说过,楼长能否详细解释一下,估计没装。
作者: 如是大师     时间: 2003-5-21 00:00
因为me的dos从7.1过渡到8.0,ms已有意将新一代操作系统使用nt平台。me只是一个并不怎么成功的过渡系统。但微软在me里针对dos很做了几处手脚。。如在系统启动后不能格式化系统盘等。。。。且命令也相对减少。。而且因为me有并不成功的系统还原功能,所以对dos的几个配置文件做了限制。。。这恐怕就是你出现上叙现象的原因。。。请下载me的dos实模式补丁。。。并关闭系统还原功能。。。。
作者: 我爱DOS     时间: 2003-5-21 00:00
1.NT平台是WIN系统不用在DOS基础上加载的意思吗
2.ME的系统还原不是要手动才能实现的吗
3.这补丁在哪里能下载,我以找过“系统增强”“其他软件”都没有
作者: 如是大师     时间: 2003-5-21 00:00
其实从win3x起win就是dos的GUI界面,95有了一个飞跃,98大成。me是一个过渡产品。。2000以后ms就放弃dos内核了。。
me的系统还原虽然是要手动,但它在后台做了不少工作了。。。
补丁就在网上搜一搜吧。。。
作者: ah_B     时间: 2003-5-21 00:00
NB!多谢了!
作者: ah_B     时间: 2003-5-21 00:00
TO香蕉
http://download.pchome.net/php/download2.php?sid=12087&url=/system/sysenhance/MeDOS0415.rar&svr=4
我刚下了,才32K
作者: ah_B     时间: 2003-5-21 00:00
还有一个老外编的9K,
引用页:http://toget.pchome.com.tw/intro/utility_system/utility_system_tweak/10347.html
作者: ah_B     时间: 2003-5-21 00:00
不过好像很麻烦:
注意! 請一步步照著說明作,並將文中提到的檔案備份,不小心可能會導致電腦無法開機!

「c:\windows」代表您電腦中 Win ME 的安裝目錄。




請先備份下面三個程式:



C:\WINDOWS\COMMAND.COM

C:\WINDOWS\COMMAND\EBD\IO.SYS

C:\WINDOWS\SYSTEM\REGENV32.EXE


好了嗎?現在把這三個程式 copy 到一個暫存目錄(如:c:\temp)下,並將 Real DOS-Mode Patch for Windows ME 也解壓縮到這裡來。


在 DOS 視窗下,移動到 c:\temp,執行底下這個指令:



ATTRIB -R -H -S *.*



在 c:\temp 執行:



WINMEDOS.COM



在 DOS 視窗下,移動到 c:\temp,執行底下這個指令:



ATTRIB +R +H +S IO.SYS



將檔案依照下列的指示 copy 到指定的目錄中,並覆蓋原先的檔案:



COMMAND.COM→C:\WINDOWS\ 和 C:\(兩個地方都要!)

IO.SYS→C:

REGENV32.EXE→C:\WINDOWS\SYSTEM




編輯 c:\autoexec.bat 和 c:\config.sys:



在 config.sys 中加入這一行:

DEVICE=C:\WINDOWS\IFSHLP.SYS

在 autoexec.bat 的 最後 加入這一行:

C:\WINDOWS\WIN.COM



完成了,現在您可以重新開機,按「Shift-F8」看看 Win ME 的 Real-DOS 模式長什麼樣子(其實就是用 DOS 模式開機嘛…)。


作者: ah_B     时间: 2003-5-21 00:00
底下的例子是讓您可以選擇以 Win ME 或是 DOS 開機,您可以依照自己的需求修改(千萬不要直接覆蓋!),只要記得前面第七點所提到的,需要啟動 Win ME 的部分都要加入關於「IFSHLP.SYS」和「WIN.COM」的敘述就好了。詳細的寫法請參考 DOS 書籍中有關「多重開機」(Multi-config)的說明。

config.sys:

[menu]

menuitem=dos

menuitem=winme

menucolor=7,0

menudefault=winme,3

[dos]



[winme]

DEVICE=C:\WINDOWS\IFSHLP.SYS

[common]



Autoexec.bat:

@echo off

:begin

goto %config%


:dos

prompt $p$g

goto end


:winme

C:\WINDOWS\WIN.COM

goto end


:end




反安裝




將您備份的 autoexec.bat、config.sys 回存至 c:\。如果您原先的這兩個檔案長度是 0,也就是說這兩個檔案只有檔名,沒有內容,打開記事本,什麼都不要打,直接另存新檔(檔名:autoexec.bat、config.sys)即可。

將您先前備份的檔案依照下列的指示 copy 到指定的目錄中,並覆蓋原先的檔案:



COMMAND.COM→C:\WINDOWS\ 和 C:\(兩個地方都要!)

IO.SYS→C:

REGENV32.EXE→C:\WINDOWS\SYSTEM

作者: ah_B     时间: 2003-5-21 00:00
那个中文版的好像还是不行;
引用作者的话:

    当通过此软件以 DOS 实模式启动系统时,由于自动装载 Windows Me 的 Autoexec.bat 会在屏幕上显示几行环境设置语句,虽丝毫不影响正常使用,但感觉上不是很清爽。本来想修改 Autoexec.bat 关闭屏显,可研究后发现 Windows Me 对部分系统文件的保护着实不弱,每次正常退出 Windows Me 系统时都要自动检测 Autoexec.bat 和 Config.sys 的大小并进行 CRC 校验(真的很夸张),如发现不正常就将现有文件备份为.BAK,并重建文件。所以只有解除 Windows Me 的文件保护才能实现目的,但这也违背了不破坏系统的意愿,故仍保持了现有的状态,如果谁有好的建议或方法,欢迎提出!

作者: ah_B     时间: 2003-5-21 00:00    标题: 如意大师

按作者的话说,只要解除Windows Me 的文件保护就行了,你知道怎么解吗?
作者: 如是大师     时间: 2003-5-21 00:00
还是不要解吧,me的保护模式已与系统紧密结合,如果强行修改会让系统变得很脆弱。
那就失去了增强功能的本意了。。。
作者: ah_b     时间: 2003-5-22 00:00
哎,也只能做罢了,不过还是谢谢楼长了
作者: 我爱DOS     时间: 2003-5-22 00:00
哦,好详细,我先试下
作者: 我爱dos     时间: 2003-5-24 00:00
根据以上的步骤实浅,的确可以改变以往重启后恢复系统默认设置的情况,但实浅所得,更改后的AUTOEXEC.BAT并没有能按我们的意愿去执行,也就是说还没有系统被正确地执行

TO:ah_B
你的PASSWORD程序能在系统加载时执行吗,我已按以上操作安排好了,但还不如人意

TO:如是大师
你怎么给我发那么多的EMAIL啊
作者: 如是大师     时间: 2003-5-24 00:00
不会吧,,,那个msn的邮箱被盗用了,,千万别打开邮件。。
作者: 我爱dos     时间: 2003-5-25 00:00
哦,原来这样,幸亏警觉高,随便问一下,签名支持那种标签啊,不会只是[\b]这么普通的标记吧???
作者: Wengier     时间: 2003-5-25 00:00
也是呢,我只用IE收邮件,看到如是大师的邮件需要Outlook来打开,我就把它们删了。

关于WinME的文件保护功能,确实是厉害呢,我领教过的。
作者: 易玄子     时间: 2003-5-29 00:00
我用HD-COPY做江民硬盘修复王,刚开始还可以解JMHDFIX.IMG,后来莫名奇妙HD不能用了,一用就出错,还会影响重启和关机程序(需要按RESET),不知道怎么回事?系统重装HD仍不能正常使用。望高手指点。谢谢!!
作者: 我爱dos     时间: 2003-5-29 00:00
这个是批处理的吗,好象没听说哦
作者: nihlathak     时间: 2003-5-30 00:00
我搜索站长7.1启动盘autoexec里的内容,发现有两处写着path的:
SET TMP=%RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
PATH=%RAMDRIVE%.;%RAMDRIVE%\SYSTEM


:NEXT
SET SM=
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
PATH=%PATH%;C:.;A:.;..
于是我在第二个path里加了如下路径(修改如下)
:NEXT
SET SM=
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
PATH=%PATH%;C:.;A:.;C:\masm6;c:\bc31\bin;..

可是失败了,我运行后两者里的程序时都提示读取软驱失败!!
请问正确的改法应该是什么?
谢谢~~~
(顺便请把启动盘室里我那篇相同的帖子删掉吧)


[此贴子已经被作者于2003-5-30 13:41:51编辑过]



作者: 如是大师     时间: 2003-5-30 00:00
请问你是怎样运行后两者中的程序的?具体命令方式。。
作者: nihlathak     时间: 2003-5-30 00:00
比如c:\bc31\bin下有个bc.exe
我就直接输入bc.exe回车啊
作者: 如是大师     时间: 2003-5-30 00:00
那样也行啊?这个path命令是用于在批文件中执行的程序查找相应路径的。
dos提示符下默认目录是a盘你的路径不对呢。。
作者: nihlathak     时间: 2003-5-30 00:00
啊哦??
这样的啊?
那要实现我想要的功能该怎么办呢?
作者: 如是大师     时间: 2003-5-30 00:00
具体说说你的目的。。
作者: nihlathak     时间: 2003-5-30 00:00
由于我要用的软件散落在各个文件夹里
如果每运行一个都要cd  cd的去挖那就累死了
所以想让操作系统在我输入文件名的时候可以自动到我设置好的几个文件夹里去找
那就方便多了
作者: 如是大师     时间: 2003-5-30 00:00
你可以建一个虚拟盘,将这些文件copy到那你执行,步骤在批命令里完成。
作者: nihlathak     时间: 2003-5-30 00:00
可我同学自己写了个简单的autoexec,再里面path了一下就可以了啊
既然站长的path可以指定a:和c:,那为什么不能指定更多的路径呢?

作者: 如是大师     时间: 2003-5-30 00:00
可以指定任何路径
但批命令完成后只进入一个路径
作者: nihlathak     时间: 2003-5-30 00:00
但是我在其他盘符下可以直接执行c:下的程序
这个是由什么实现的呢?
作者: 如是大师     时间: 2003-5-30 00:00
不会吧。
你在d盘能够执行c盘的程序?
而且c盘是物理盘?
作者: nihlathak     时间: 2003-5-30 00:00
是啊,现在问题解决了
我在
SET TMP=%RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
PATH=%RAMDRIVE%.;%RAMDRIVE%\SYSTEM
里的path后面改,现在无论在哪里都能运行我那两个文件夹里的东西了

不过到底为什么呢?
还是不明白!!
作者: 我爱dos     时间: 2003-5-31 00:00
在批处理中哪个%的,一直是我不理解的问题,还望各位指教啊
什么%1到%9是什么,从来就没见在。BAT中标明,

[此贴子已经被作者于2003-5-31 14:37:45编辑过]



作者: 龙卷风     时间: 2003-5-31 00:00
在call w.bat box @text.bat:find一句中,box是什么东西?这一句的功能是什么呢?
作者: 如是大师     时间: 2003-5-31 00:00


  Quote:
以下是引用我爱dos在2003-5-31 14:35:00的发言:
在批处理中哪个%的,一直是我不理解的问题,还望各位指教啊
什么%1到%9是什么,从来就没见在。BAT中标明,

[此贴子已经被作者于2003-5-31 14:37:45编辑过]


这个是dos设置的变量,利于bat文件批次执行。
作者: Wengier     时间: 2003-6-1 00:00


  Quote:
以下是引用nihlathak在2003-5-30 19:50:47的发言:
是啊,现在问题解决了
我在
SET TMP=%RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
PATH=%RAMDRIVE%.;%RAMDRIVE%\SYSTEM
里的path后面改,现在无论在哪里都能运行我那两个文件夹里的东西了

不过到底为什么呢?
还是不明白!!

这是因为DOS会自动搜索PATH中所指定的所有路径中的程序呀。
作者: nihlathak     时间: 2003-6-1 00:00


  Quote:
以下是引用Wengier在2003-6-1 10:42:37的发言:

  Quote:
以下是引用nihlathak在2003-5-30 19:50:47的发言:
是啊,现在问题解决了
 我在
 SET TMP=%RAMDRIVE%\TEMP
 SET TEMP=%RAMDRIVE%\TEMP
 PATH=%RAMDRIVE%.;%RAMDRIVE%\SYSTEM
 里的path后面改,现在无论在哪里都能运行我那两个文件夹里的东西了

 不过到底为什么呢?
 还是不明白!!

这是因为DOS会自动搜索PATH中所指定的所有路径中的程序呀。

可是我在
:NEXT
SET SM=
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
PATH=%PATH%;C:.;A:.;..
里的path语句上改(如下)
:NEXT
SET SM=
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
PATH=%PATH%;C:.;A:.;C:\masm6;c:\bc31\bin;..
却不起作用,这是为什么啊?

作者: 我爱dos     时间: 2003-6-2 00:00
如是大师:
    以上我说的那个%的问题,还是不很理解,举个例

1.SET TMP=%RAMDRIVE%\TEMP
2.SET TEMP=%RAMDRIVE%\TEMP
3.XX1=%XXXX1%
4.XX2=%XXXX2%
5.PATH=%RAMDRIVE%.;%RAMDRIVE%\SYSTEM

以上的1.和2.是代表变量中的%1。第3.和4.分别代表%2和%3,是这样理解吗

那第5。那两对%又是代表什么呢。是变量中的%4,%5吗

.bat里是不是不能用超过9对%呢

我很菜,希望不要笑我
作者: 我爱dos     时间: 2003-6-2 00:00

我很菜,希望不要笑我


[此贴子已经被作者于2003-6-2 14:02:47编辑过]



作者: lichina     时间: 2003-6-2 00:00
为什么在WIN98下运行MSCONFIG文件后查看AUTOEXEC.BAT文件,每台机器的批处理都不一样它们到底起什么作用?
作者: 如是大师     时间: 2003-6-2 00:00
一般win98的autoexec文件是空的。。
是安装什么软件时写入的信息。。没多大用。。
作者: 6779766     时间: 2003-6-2 00:00
我机子老是死机能从DOS里面查吗?

作者: 如是大师     时间: 2003-6-2 00:00
详细讲讲。。
作者: 我爱dos     时间: 2003-6-3 00:00
如是大师:
     请帮我解答我的问题啊,这个问题已经捆绕了我很久
作者: 如是大师     时间: 2003-6-3 00:00


  Quote:
以下是引用我爱dos在2003-6-2 13:54:42的发言:
如是大师:
    以上我说的那个%的问题,还是不很理解,举个例

1.SET TMP=%RAMDRIVE%\TEMP
 2.SET TEMP=%RAMDRIVE%\TEMP
3.XX1=%XXXX1%
4.XX2=%XXXX2%
 5.PATH=%RAMDRIVE%.;%RAMDRIVE%\SYSTEM

以上的1.和2.是代表变量中的%1。第3.和4.分别代表%2和%3,是这样理解吗

那第5。那两对%又是代表什么呢。是变量中的%4,%5吗

.bat里是不是不能用超过9对%呢


这样理解是错误的。%RAMDRIVE%是内存盘空间,因为内存虚拟盘的盘符不是一定的所以在这里用%号来指定。3,4,才是指定变量的值。。。以利dos系统调用。
一般来说%0到%9这十个变量是指替换变量。。
而%RAMDRIVE%;%cdrom%等是set命令所指定的环境变量。。。。

作者: 我爱DOS     时间: 2003-6-4 00:00
那是
A=%a1%      (这是%0)
B=%b1%       (这是%1)
C=%c1%       (这是%2)
D=%d1%       (这是%3)
……
……
但是就不能超过9个设置,就是说不能超过%9
如我在DOS下,输入DIR A就是自动调用a1
是这样吗??
作者: 如是大师     时间: 2003-6-4 00:00
嗯。。不错。。
作者: tianchang     时间: 2003-6-5 00:00
各位大佬:
              小弟急要大量bat ,文件,如教程,例[em07]
作者: zhouyong5120     时间: 2003-6-5 00:00
对于批处理我还不怎么懂?希望各位高手能不吝赐教
作者: Englishboy     时间: 2003-6-6 00:00
恩,高手就是高手,俺佩服.
作者: yykbyykb     时间: 2003-6-7 00:00
我上大学的时候有个想法,就是用autoexec.bat编写一个病毒(当然没有破坏性,只是想证明其可行性),但是一直没有动手,现在把电脑知识都忘光了,就更没可能了。哪位大虾有兴趣可以试试看,记得暗示一下是中国人写的。
作者: csmhsc     时间: 2003-6-8 00:00
55
小弟弟我看不懂

作者: 我爱DOS     时间: 2003-6-9 00:00
bat不是拿来写程序的啊,怎能写病毒呢
作者: dreamgoon     时间: 2003-6-9 00:00
各位高手们,我是一位刚接触dos的新手啊!我很想学好它,但却不知从何下手,希望各位能给我点见议,指点一下我。谢谢了!!
作者: 我爱DOS     时间: 2003-6-10 00:00
先找一些这方面的资料看看命令的用法,有什么不明的在来提问,

作者: 如是大师     时间: 2003-6-10 00:00
恶性的bat文件也不下于病毒了。
作者: amingshao     时间: 2003-6-11 00:00
请问 怎样用bat备份文件 要用批处理要怎样编辑呢。。
作者: anson     时间: 2003-6-14 00:00
有关AUTOEXEC.BAT的问题~~~!
想问一下在AUTOEXEC.BAT里面如何设置和定义光驱盘符?如何指定读取光驱~~~?
作者: 如是大师     时间: 2003-6-15 00:00
用set命令指定变量
作者: anson     时间: 2003-6-15 00:00
例如呢?怎样用才可以设置光盘?
作者: anson     时间: 2003-6-15 00:00
@ECHO OFF
KPUSH 27 27
KPUSH>NUL
TM /R=30 /D=250
LH KILLER
LH DOSKEY
LH CTMOUSE
LH CTMOUSE>NUL
IF NOT %CONFIG%#==M5# GOTO BOOT
ECHO.
ECHO Now preparing to open README with Chinese support...
XMSDSK 80 /Y>NUL
FINDRAMD>NUL
IF %RAMDRIVE%#==# ECHO Can't create RAM disk!
IF %RAMDRIVE%#==# GOTO SHUT
EXTRACT /E /L %RAMDRIVE%\ DOSET.CAB EDIT.COM>NUL
XZL
%RAMDRIVE%\EDIT README.TXT
XZL /Q
:SHUT
ECHO Now trying to shutdown the computer..
ECHO.
SHUTDOWN S
ECHO.
ECHO Shutdown failed. Now restart the computer..
ECHO.
SHUTDOWN R
GOTO END
:BOOT
DREADY C:
IF ERRORLEVEL 1 ECHO Warning: Can't find any valid hard drives!
IF ERRORLEVEL 1 GOTO NOCACHE
ECHO Y|LOCK C:>NUL
ECHO.
ECHO Preparing to load the hard disk cache(PC-CACHE), press any key to cancel..
WAIT 2
IF ERRORLEVEL 1 ECHO Cancelled.
IF NOT ERRORLEVEL 1 LH PCCACHE /SIZEXT:4096 /WRITE:OFF /WIN /MINI
:NOCACHE
ECHO.
LH MSCDEX /D:IDE-CD /D:SCSI-CD /D:USB-CD /S /K
XMSDSK 4096 /Y
ECHO Setting up the RAM disk...
FINDRAMD>NUL
IF %RAMDRIVE%#==# GOTO NORAM
IF NOT EXIST %RAMDRIVE%\SYSTEM\NUL MD %RAMDRIVE%\SYSTEM
COPY COMMAND.COM %RAMDRIVE%\SYSTEM>NUL
EXTRACT /E /L %RAMDRIVE%\SYSTEM DOSET.CAB>NUL
EXTRACT /E /L %RAMDRIVE%\SYSTEM VC.CAB>NUL
ECHO The necessary tools have been successfully loaded to drive %RAMDRIVE%.
MD %RAMDRIVE%\TEMP
SET COMSPEC=%RAMDRIVE%\SYSTEM\COMMAND.COM
SET TMP=%RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
PATH=%RAMDRIVE%.;%RAMDRIVE%\SYSTEM
GOTO NEXT
:NORAM
ECHO Warning: Can't create RAM disk!
SET COMSPEC=A:\COMMAND.COM
:NEXT
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
PATH=%PATH%;C:.;A:.;..
LH SHARE
LH ZENO /Q
LH MOUSCLIP /M
LH DOSLFN /C- /Z:CP936UNI.TBL
IF %CONFIG%#==M3# NTFSDOS /U
LH ESCAPE
FINDCD /Q
CLS
WRITEXT 1 1 -f15 Note:
ECHO.
IF NOT %CDROM%#==# ECHO For accessing CD/DVD drive, use the drive letter %CDROM%(1st).
IF NOT %RAMDRIVE%#==# ECHO For accessing RAM drive, use the drive letter %RAMDRIVE%.
IF NOT %CONFIG%#==M3# ECHO For accessing NTFS drives(if any), type NTFSDOS at the command line.
ECHO At any time, you can press F12 key to return to DOS, or use the mouse.
BREAK ON
LFNFOR ON
IF %RAMDRIVE%#==# GOTO END
ECHO.
ECHO Press ENTER in 2 seconds if you want to start Volkov Commander..
WAIT 2
SET VC=
IF ERRORLEVEL 13 IF NOT ERRORLEVEL 14 SET VC=1
IF %VC%#==# ECHO Skipped.
ECHO.
ECHO Now you're in MS-DOS 7.10 prompt. [Made by Wengier]
ECHO.
ECHO For more information, please look at README.TXT(in Chinese).
ECHO To start Chinese system for Chinese, type XZL at the command line.
WRITEXT 0+ 1 "Any comments, please come to the forum at: " -f15 http://dosbbs.2ya.com/ -f7
ECHO.
IF %VC%#==# GOTO END
SET VC=
ECHO.
ECHO Starting Volkov Commander...
ECHO.
LH VC
:END
ECHO.

作者: 如是大师     时间: 2003-6-15 00:00
SET DIRCMD=/OGN /4后加进
set cdrom=你设定的盘符

LH MSCDEX /D:MSCD001 /L:%CDROM%
作者: anson     时间: 2003-6-15 00:00
SET DIRCMD=/OGN /4后加进
这句是什么意思?
作者: 如是大师     时间: 2003-6-15 00:00
哦,这个你没有,
就不必管他了。。
作者: oyster     时间: 2003-6-16 00:00
cd %   window%
是什么意思啊?
作者: 如是大师     时间: 2003-6-16 00:00
进入所设定的%windows%这个变量。
作者: anson     时间: 2003-6-22 00:00
我想做一个自动安装win98 的启动光盘,可是不知道怎样在启动光盘里利用创建的批处理文件来自动安装Win98了。先使用安装命令setup,后接刚刚由Batch 98创建的 .inf 文件的路径和文件名。(默认文件名为 Msbatch.inf)例如,在命令行上键入以下命令:setup msbatch.inf /is 将会开始自动安装Win98,并按照要求查询 .inf 文件

在批处理里面怎样设置msbatch.inf(这个文件是放在光盘里的)这个文件才能够实现自动安装win98的全过程~~~?
作者: anson     时间: 2003-6-23 00:00
IF "%config%"=="SETUP_CD" goto AUTOSETUP
GOTO QUIT
:AUTOSETUP
set CDROM=FOO23
FINDCD.EXE
if "%CDROM%"=="FOO23" goto NOCDROM
path=a:\;%CDROM%\
%CDROM%
cd \WIN98     <---------------------------是什么意思是打开cd目录下的win98
echo.                                     还是好象在DOS一样展开win98的目录?
OEMSETUP.EXE /K "/IE /NF"
goto QUIT

可以回答我吗?


作者: superdos     时间: 2003-6-24 00:00
请问各位高手
如何用.bat提高个人主页的访问量!!!!
作者: aodif     时间: 2003-6-24 00:00
请问WIN98里面的MSCONFIG怎么设置
作者: yscrack     时间: 2003-6-30 00:00
斑竹请帮忙,我想搞一个批处理文件,启动程序a.exe,等该程序运行结束后再删除文件b.sys,请大虾指点后一步如何写,谢谢!
作者: shadowman     时间: 2003-7-1 00:00
斑竹,这是我的autoexec.bat文件的内容(请结合config.sys诊断室的文件来看):

@ECHO OFF
goto %config%

:KVD2003
@ECHO OFF
set EXPAND=YES
SET DIRCMD=/O:N
cls
path=a:\;
CLS
ECHO.
ECHO                     This is a KV2003 2003-6-30  5M DOS Edition !
ECHO.
ECHO                     Kvd2003 32bit version 7.01.213 (DOS32V)
echo.
echo                             Make by  ** Shadowman **
echo.
echo -----------------------------------------------------------------------------
KVD2003

:JMHDFIX
JMHDFIX



作者: SXGXB     时间: 2003-7-2 00:00
怎样让启动盘里的MOUSE。COM在开机后自动运行。是CONFIG。SYS还是AUTOEXEC。BAT里
作者: nre     时间: 2003-7-2 00:00


  Quote:
以下是引用SXGXB在2003-7-2 20:47:46的发言:
怎样让启动盘里的MOUSE。COM在开机后自动运行。是CONFIG。SYS还是AUTOEXEC。BAT里

AUTOEXEC。BAT
作者: SXGXB     时间: 2003-7-2 00:00
谢谢,具体怎样配置
作者: nre     时间: 2003-7-2 00:00
[lh] 相对或绝对路径\mouse.com

LH 是放到UMB运行的意思,大部分程序可以用LH参数
作者: SXGXB     时间: 2003-7-3 00:00
谢了。
作者: hzy     时间: 2003-7-16 00:00    标题: [求助]请教:这样的批处理该怎么写?

我想写一个具有如下功能的,调用Ghost.exe作备份和还原的启动盘批处理,但不知道要用到什么工具?该怎么写?

1、还原功能:

启动盘启动——提示输入要还原的备份文件名 %xxx.gho%——搜索 xxx.gho,将搜索得到的xxx.gho的完整路径输入到下面的命令,不存在这个文件则返回上一步重新输入其他文件名——提示输入要将备份文件还原到哪个 %分区%,将这个变量%分区%输入到下面的命令——执行Ghost还原命令:
ghost -clone,mode=pload,src=%完整路径\xxx.gho%:1,dst=1:%分区% -sure

2、备份功能:

启动盘启动——提示输入要备份的%分区A%——设定一个值,如:2G,做一个判断,将备份文件放在第一个空闲空间大于2G的%分区B%——提示输入备份%文件名%——将以上变量输入到下面命令执行备份:
ghost -clone,mode=pdump,src=1:%分区A% ,dst=%分区B%\%文件名% -z9 -sure


[此贴子已经被作者于2003-7-16 0:19:07编辑过]



作者: hzy     时间: 2003-7-24 00:00
上面批处理中还原功能的其中一部分我想这样写:

set get=

get s "please input your backup file name :"
(这里假设输入: pwin98.gho)

for %%a in (d: e: f: g: h: i: j: k do if exist %%a\%get% dir /b /s %%a\%get%
(这里假设得到屏幕输出结果为: d:\pwin98.gho)

那么如何才能将上面搜索得到的屏幕输出d:\pwin98.gho自动赋值到下面的命令:
ghost -clone,mode=pload,src=d:\pwin98.gho:1,dst=1:1 -auto -sure
作者: hzy     时间: 2003-7-26 00:00
想到了一个笨方法:(不知是否行的通,有没有更好的方法?)

set get=

get s "please input your backup file full name :"

echo set abc= >%ramdrive%\backup.bat

for %%a in (d: e: f: g: h: i: j: k do if exist %%a\%get% dir /b /s %%a\%get% >>%ramdrive%\backup.bat

call %ramdrive%\backup.bat

ghost -clone,mode=pload,src=%abc%:1,dst=1:1 -auto -sure





[此贴子已经被作者于2003-7-27 1:12:23编辑过]



作者: hzy     时间: 2003-7-26 00:00
有问题:
怎样才能让 %ramdrive%\backup.bat 中

echo set abc= >%ramdrive%\backup.bat 输入的set abc=

与 for %%a in (d: e: f: g: h: i: j: k do if exist %%a\%get% dir /b /s %%a\%get% >>%ramdrive%\backup.bat 输入的xxx.xxx同在一行?

[此贴子已经被作者于2003-7-26 10:25:55编辑过]



作者: lishaoqiang     时间: 2003-7-30 00:00
请问“如是大师“,如何用批处理编一个在指定时间内运行的程序,如8:00至12:00运行的程序。
作者: tongs     时间: 2003-8-1 00:00
我把msdos.sys 改了要手动输入win才能进windows
下面是我的autoexec.bat
f11f12.exe /1=f11.bat
win

f11f12.exe是TSR方式的给F11和F12键定义命令的工具
我想在启动时候按f11运行f11.bat不按的时候就自动进入windows98

帮我看看我错在什么的发啊?
谢谢了

作者: iceboy     时间: 2003-8-4 00:00
你按了 f11 时, 执行完了 f11.bat 后, 接着又执行 win.com, 当然有问题啦, 应该在 f11.bat 里加一个 set, 然后 if xx=xx win, 并且注意把 Msdos.sys 里的 bootgui 关掉。
作者: weitn     时间: 2003-8-5 00:00
SET TMP=%RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
不懂此命令,请高手指点。thyou
作者: iceboy     时间: 2003-8-5 00:00
SET : 变量赋值

SET xx=yy
xx: 变量名
yy: 字符串

TMP、TEMP 分别表示 16 位、32 位程序临时目录
%RAMDRIVE% 在 MS 的 BD 上存的是 Ramdrive(内存虚拟盘) 的路径

不用继续说了吧~
作者: 黑龙KP     时间: 2003-8-8 00:00
各位好:
        本人现在遇到这样的难题,说明一下,我是不太懂DOS的.
        网吧的机器,单98系统,装有还原精灵(设置为自动还原),现在因为某种原因要在每台机器上装双管理系统(收费系统)1.美萍.2.任子行.装是没什么问韪,但要求是象我们平常装双系统那样的,开机的时候有得选择98还2000的.意思就是说,一台98在开机还没进系统前有:1美萍.2任子行.这样就可以由客人自己选择进了.
        这两个管理软件都开机时就运行的,如果上面的问题解决不了,那么开机的时候就会两个软件都运行了,双管理系统的意思就没了.我想过能不能在DOS里机选择,选择1.美萍的时候那么2.任子行就不运行了,反之......我想过,可能用改这两个文件名字来实现,还有就是改注册表的启动来实现....想错了也不一定..希望大家可以帮帮忙...我有点急了..........谢谢!!

有想问一下,为什么在XP里面"CHOICE"这个命令不能用的呢???


[此贴子已经被作者于2003-8-8 5:53:19编辑过]



作者: iceboy     时间: 2003-8-10 00:00    标题: !!!!!!!!!!!!!!!!!!!!!!!! <-- 请作者更改题目

因为你的 XP 里面没有 choice.com


[此贴子已经被作者于2003-8-17 17:27:49编辑过]



作者: jeffyy     时间: 2003-8-11 00:00
好难
我可看不懂啊!
作者: ajeef     时间: 2003-8-12 00:00
问题:如果计算机每次启动都是需要拨号上网,怎么写~~~

前提:不用任何高级语言,脚本语言,低级语言,只能用批处理文件写。

我写了.cmd一个计算机意外故障后造成断线,死机,计算机再次重启后就自动收集日志文件 系统信息,磁盘完整性等,然后按照指定的邮箱发送。但是考虑到有些计算机不是直接联网状态,
有些还是拨号类的,也就是说计算机重启后运行了批处理但是没有上网,邮件就没有办法发送出去了,等再次拨号上网后,批处理早已经运行完毕了.........

我考虑了很多,用计划任务设定一段时间内再次后台发送,但是这样会炸爆我的邮箱的,
用循环语句不停发送,这样的话资源占用很多,if条件事件又不知道怎么写另一个变量,help me。

问题2:写批处理时一个关于系统盘确认的问题!

有一部分人默认安装的系统不在C:盘(既激活分区根目录)又有一些人安装多系统,是否会对读取造成影响?

@echo off
attrib -h -s -r boot.ini
type c:\boot.ini >os.txt  //就是这里的C:如果别人不是安装在C:盘怎么办,是否可以用变量代替
pause
attrib +s +h boot.ini
del c:\os.txt /a  //就是这里的C:如果别人不是安装在C:盘怎么办,是否可以用变量代替

作者: iceboy     时间: 2003-8-12 00:00
set xx=yy
%xx% 就可以代替 yy 了

在 Win2000 下,%HOMEDRIVE% 代替 “C:” (如果装在 C 盘),%WINDIR% 代替 “C:\WINNT” (假设装在这里)。

然后就是上面是 -h -s -r,下面怎么就成了 +s +h 呢? +r 跑哪儿去了,不过我从来不用 read-only 属性... :O
作者: ajeef     时间: 2003-8-19 00:00
问两个问题:
如何禁止运行批处理文件时弹出的Dos对话框?

@echo off只能是隐藏命令本身但是却不能隐藏回显信息,如何不让它回显呢?
作者: iceboy     时间: 2003-8-20 00:00


  Quote:
如何禁止运行批处理文件时弹出的Dos对话框?

Dos 有对话框吗?还是指输出信息
作者: ajeef     时间: 2003-8-21 00:00
哦!语言纠正,是Windows 2000 Server OS下的net命令cmd.exe执行批处理的时候!





[此贴子已经被作者于2003-8-21 3:37:05编辑过]



作者: iceboy     时间: 2003-8-21 00:00
哦,看见了呢!那不是批处理的问题。。。
必须隐藏运行 (右键 -- 属性)
作者: ajeef     时间: 2003-8-23 00:00


  Quote:
以下是引用iceboy在2003-8-21 15:57:36的发言:
哦,看见了呢!那不是批处理的问题。。。
必须隐藏运行&nbsp;(右键&nbsp;--&nbsp;属性)

不行!还是会弹出来,一瞬间,如果没有办法禁止弹出的话,有没有办法让它运行的时候最小化!?
作者: xuan5272095     时间: 2003-8-23 00:00
这是我仿照书上列子遍的*.bat文件,可运行时会出错,
请帮我看看


@echo off
choice /c:mde mem,defrag,end
if errorlevel 3 goto mem(应先判断数值最高的错误码)
if errorlevel 2 goto defrag
if errotlevel 1 goto end

:mem
mem
goto end
:defrag
c:\windows\defrag.exe
goto end
:end
echo good bye

作者: ajeef     时间: 2003-8-23 00:00


  Quote:
以下是引用ajeef在2003-8-23 2:50:28的发言:

  Quote:
以下是引用iceboy在2003-8-21&nbsp;15:57:36的发言:
哦,看见了呢!那不是批处理的问题。。。
&nbsp;必须隐藏运行&nbsp;(右键&nbsp;--&nbsp;属性)

不行!还是会弹出来,一瞬间,如果没有办法禁止弹出的话,有没有办法让它运行的时候最小化!?

ttttttttttttttt
作者: B999999999     时间: 2003-8-30 00:00
请教楼主,我的机子是双光驱,如何在批处理里定位盘符,两个光驱在一个IDE上,还有是否能在别的一个光驱的机子上通用,这个问题想了很久,希望能指点迷津,谢谢!
作者: 学习之行者     时间: 2003-9-2 00:00
我是dos的菜鸟。
我想编一个简单的批处理文件。就是把c:\program files\金瑞普\全能打字教室\打字通.exe
一开机就运行,在windows可以把它加入启动组,但我想用批处理文件来做,并且在启动组里也看不到。
请问各位大侠怎么做。
谢谢了。
作者: DOCO     时间: 2003-9-28 00:00
请问一下板主为何我用批处理拷贝文件夹到C:\Program Files
这个目录下为何不呢提示是:      0 File(s) copied
@echo off
xcopy c:]\windows\desktop\dooo\Holdfast\*.* C:\Program Files\Holdfast
这是批处理文件
看是不是有错谢谢`1

作者: iceboy     时间: 2003-10-4 00:00
xcopy /s "c:\windows\desktop\dooo\Holdfast\*.*" "c:\Program Files\Holdfast\"

作者: 枕头     时间: 2003-10-6 00:00
我想用config和autoexec.bat来做ghost 的备份恢复双重启动菜单 。

然后想使最开始的菜单就能显示中文,可是是不行

config.sys如下

[menu]
menucolor=7,1
menuitem=DOS
submenu=WORKS,BACKUP&RESTORE
menudefault=DOS,10
[common]
files=25
buffers=15
device=himem.sys
dos=umb,high
stacks=9,256
lastdrive=z
[DOS]
[WORKS]
menuitem=BACKUP,备份
menuitem=RESTORE,恢复
menucolor=5,0
[BACKUP]
[RESTORE]


autoexe.bat如下

@echo off
f:\pillow\dos\tw.exe
set path=f:\pillow\dos;e:\ghost
goto %config%
OS
goto exit
:BACKUP
ghost -clone,mode=pdump,src=1:1,dst=e:\ghost\win2k_1.gho:1 -fx -rb
goto exit
:RESTORE
ghost -clone,mode=pload,src=e:\ghost\win2000.gho:1,dst=1:1 -rb
:exit

可是那个“备份”和“恢复”总是没有办法显示。

天汇在config的菜单运行后,也不会运行。

请问怎么要怎么办啊?

可不可以先用autoexec.bat先挂 上天汇后。

再通过另一个批处理来调用一个类似 config.sys的东西来做多功能选择菜单 ?
作者: iceboy     时间: 2003-10-6 00:00
可以!最简单的方法就是用 Choice.com,复杂一点就用 Menustar、ChoiceX,或者编个小程序也行。

  Quote:
@echo off
f:\pillow\dos\tw.exe
set path=f:\pillow\dos;e:\ghost
echo.
echo     MS-DOS 7.10 启动菜单
echo.
echo   1. 启动到 DOS
echo   2. 备份系统
echo   3. 恢复系统
echo.
choice /c:123 /n /t:1,30 请选择:
if errorlevel 3 goto RESTORE
if errorlevel 2 goto BACKUP
OS
goto exit
:BACKUP
ghost -clone,mode=pdump,src=1:1,dst=e:\ghost\win2k_1.gho:1 -fx -rb
goto exit
:RESTORE
ghost -clone,mode=pload,src=e:\ghost\win2000.gho:1,dst=1:1 -rb
:exit


作者: netsking     时间: 2003-10-6 00:00
本人在Windows2000和WinXP下编了一个批处理文件,可运行时总是MS-DOS的窗口需要手动关闭, 如何能使它在执行后批处理后自动关闭消失?谢谢!

批处理见下:
@echo off
set path=c:\netsking
"C:\netsking\netsking.exe" -i "C:\netsking\data\netsking.ini"
作者: exitwin98     时间: 2003-10-10 00:00
echo @regedit c:\Windows\system.reg>nul >c:\autoexec.bat
我想用这个批处理文件生成autoexec.bat
里面的命令为@regedit c:\Windows\system.reg>nul
不过实际生成的是@regedit c:\Windows\system.reg
作者: 得天     时间: 2003-10-10 00:00    标题: [公告]我是新来的说实话我还不知道如何做呢!

[face=楷体_GB2312][/face]
大家好希望能与到一位好友教我入门,成为我好的老师和朋友![em09][em06][em06][em06][em06][em06]
作者: exitwin98     时间: 2003-10-11 00:00


  Quote:
以下是引用netsking在2003-10-6 23:03:22的发言:
本人在Windows2000和WinXP下编了一个批处理文件,可运行时总是MS-DOS的窗口需要手动关闭,&nbsp;如何能使它在执行后批处理后自动关闭消失?谢谢!

批处理见下:
@echo&nbsp;off
set&nbsp;path=c:\netsking
&quot;C:\netsking\netsking.exe&quot;&nbsp;-i&nbsp;&quot;C:\netsking\data\netsking.ini&quot;

@echo off
set path=c:\netsking
netsking.exe -i C:\netsking\data\netsking.ini

不行的话加exit
作者: jiu_qiang     时间: 2003-10-20 00:00
大家好,
      我有一个文本文件:filelist.txt,内容如下:
                2      (表示文件名个数)
                c:\filename1
                c:\filename2
       我想调用7z压缩程序对filename1和filename2进行压缩,但不想7z a c:\filename1 filename这样一条一条的处理,请问怎么得到filelist.txt的内容,再用循环来实现?
作者: yjq2003     时间: 2003-10-21 00:00
我怎样在autoexec.bat里调用光盘里的EXE?
作者: exitwin98     时间: 2003-10-24 00:00


  Quote:
以下是引用yjq2003在2003-10-21 11:55:34的发言:
我怎样在autoexec.bat里调用光盘里的EXE?

直接填写路径
作者: 如是大师     时间: 2003-10-24 00:00
是在硬盘还是在软盘或者光盘上的autoexec文件?需要达到什么目的?请说清楚好吗?
作者: yongcheng     时间: 2003-11-5 00:00
我想学习批处理,可不知哪里有教程下载
有人能帮助我吗?
谢谢!
作者: cram     时间: 2003-11-15 00:00
如何让批处理运行时隐藏窗口呢?
作者: 可乐泡饭     时间: 2003-11-23 00:00    标题: 我也有问题

我尝试着在DOS下做一个BAT批处理文件
它的任务是将H:里面的全部文件夹包括子文件夹和全部文件拷到D:的一个以当时系统时间命名的文件夹里面,并保持原H:的目录结构。然后删除 H:里面所有的文件夹和文件。

现在遇到一个难点:
就是如何把要复制的内容copy到目的盘,并且是放在即时建立的文件夹里,这个文件夹可以随机命名,最好是以当前系统时间而命名。

这个怎么做?请赐教!
作者: 龙王     时间: 2003-11-24 00:00
如是大师帮我看看ghost自动恢复的批处理
其中查找*.ghost想用你网站下载的sst代替,sst的参数不太会用

@echo off
path %ramd%\;a:\;%cdrom%\

TW /np /n3 > nul

if exist %CDROM%:\GHOST\*.GHO goto gho1
if exist %CDROM%:\*.GHO goto gho2
if exist %CDROM%:\backup\*.GHO goto gho3
if exist %CDROM%:\GHO\*.GHO goto gho4
if exist %CDROM%:\back\*.GHO goto gho5

goto ERROR

:gho1
for %%1 in (dir %CDROM%:\GHOST\*.gho) do set name=%%1
goto gho

:gho2
for %%1 in (dir %CDROM%:\*.gho) do set name=%%1
goto gho

:gho3
for %%1 in (dir %CDROM%:\backup\*.gho) do set name=%%1
goto gho

:gho4
for %%1 in (dir %CDROM%:\GHO\*.gho) do set name=%%1
goto gho

:gho5
for %%1 in (dir %CDROM%:\back\*.gho) do set name=%%1
goto gho

:gho
cls
echo.
echo.
echo.
echo                                       警 告   
echo.                                                                        
echo                         请确定你的硬盘数据是否备份好
echo.   
echo                         即将删除C盘所有数据,不能恢复
echo.
wait 10
TW /Q >nul

ghost.exe -batch -sure -f32 -afile=NUL -fx -clone,mode=pload,src=%name%:1,dst=1:1

if errorlevel 1 goto abort
TW /np /n3 > nul
EJECT.COM > nul
cls
echo.
echo.
echo.
echo.
echo.
echo              恭喜你!你的系统恢复已顺利完成
echo.
echo              请拿出光盘,10秒后重新启动系统
echo.
echo.
goto end

:abort
TW /np /n3 > nul
EJECT.COM > nul
echo.
echo.
echo.
echo                硬盘恢复出现错误,请检查错误,手动进行恢复系统
echo.
echo                请拿出光盘,10秒后重新启动系统·
echo.
goto end

:ERROR
EJECT.COM > nul
cls
echo.
echo.
echo.
echo.
echo                你的光盘没有备份扩展名为gho的镜像文件!
echo.
echo                请拿出光盘,10秒后重新启动系统
echo.
echo   
goto end

:end
wait 10
TW /Q >nul
SET name=
RESTART.COM

作者: 龙王     时间: 2003-11-29 00:00
大师很忙吧
好久没登陆了吧

作者: kkqq123     时间: 2003-11-29 00:00
我不会批处理,想请高手写一个能弹出3个IE窗口,出现自己长上的www.sohu.com;   www.163.com      www.baidu.com个网站
作者: 君邺     时间: 2003-12-1 00:00
你的PASSWORD这个文件在C盘下面吗?如果不是请复制到C盘下面啊,如果在的话,就是你的PASSWORD这个文件的问题了~你在从新的检 查一下,PASSWORD这个文件是否支持在DOS下运行。
作者: sizzling     时间: 2003-12-2 00:00
请教一下:
win98启动盘里面的SETRAMD.BAT的问题:
:loop
if errorlevel %1 goto no_shift

:do_shift
set cdrom=%2
shift
shift
if not %1*==* goto loop
goto no_ramdrive

:no_shift
set ramd=%2

里面的 %1*==* 这一句应该怎样来理解呢?

谢谢
作者: freeboy     时间: 2004-1-4 00:00
如何实现autoexec.bat自动找到磁盘的最后一个驱?
   email xuweimin2c163.net 给我
作者: chenxi     时间: 2004-1-5 00:00    标题: 请教

记得用Command进入DOS后可以用命令EXIT关闭DOS窗口,可是把EXIT命令加在批处理文件的末尾为什么就不能关闭窗口呢?除了在批处理文件的属性里选上"退出时关闭"还有什么好办法????
作者: zww3008     时间: 2004-1-11 00:00
两个批处理难题:
1.当用SET设置超过9个变量时怎么办?
2.当出现变量空间溢出时怎么办?
详见下贴第8楼,请大师予以解答,谢谢!
http://model.chinajewelry.net/dos/dosbbs/dispbbs.asp?boardID=12&ID=8804
作者: iceboy     时间: 2004-1-15 00:00
%1*==* 等效于 %1==
作者: 光与梦想     时间: 2004-1-16 00:00
cls  rem这是个命令是什么意思啊
我是新手来的请大家多支持
作者: iceboy     时间: 2004-1-16 00:00
cls 是清屏, 把屏幕上显示的东西擦掉
rem 是注释, 没有任何作用, 在 Release 版本里建议少用 rem
作者: 光与梦想     时间: 2004-1-16 00:00
多谢!!!!
作者: 浪里淘沙     时间: 2004-1-25 00:00
版主你好,我是个批处理初学者,我想请问如果我想在您做的ms-dos710里加入一条选项比如叫“setup winxp from image"
就是让机子直接将我光盘上的镜像直接叫入系统盘,然后重启.该怎么做?
批处理里可以加入像这样:
@echo off
I:
ghost -clone,mode=pload,src=I:\winxp.gho:1,dst=1:1 -fx -sure -rb

请问这一段加在哪里,该怎么加,config.sys里该如何配制?
还有就是我看到您在config.sys里的LASTDRIVEHIGH值为什么会是32而不是一个盘符?
我的机子光驱是I,我该如何确定在另一台机子上调用ghost时,能自动识别到光盘根目录下?
谢谢版主!!!

作者: iceboy     时间: 2004-1-26 00:00
to 浪里淘沙:
config.sys:

DEVICE=HIMEM.SYS /TESTMEM:OFF /Q
DEVICE=EMM386.EXE NOEMS
DEVICEHIGH=VIDE_CDD.SYS /D:MSCD001
DEVICEHIGH=IFSHLP.SYS
DOS=HIGH,UMB
LASTDRIVEHIGH=Z
FILESHIGH=40
BUFFERSHIGH=30,0
FCBSHIGH=4,0
BREAK=OFF

autoexec.bat:

@ECHO OFF
SHSUCDX /D:MSCD001
SMARTDRV /X
FINDCD
%CDROM%:
ghost -clone,mode=pload,src=%CDROM%:\winxp.gho:1,dst=1:1 -fx -sure -rb

需要的程序:
HIMEM.SYS
EMM386.EXE
VIDE_CDD.SYS
SHSUCDX.EXE
SMARTDRV.EXE
FINDCD.EXE
GHOST.EXE
IFSHLP.SYS
IO.SYS
COMMAND.COM
MSDOS.SYS

作者: 浪里淘沙     时间: 2004-1-27 00:00
多谢版主!!
作者: qwer     时间: 2004-1-31 00:00
用光盘引导启动后,如何直接运行光盘根目录上的文件.

如:123.exe

批处理如何写

谢谢!!!
作者: 5460myfriend     时间: 2004-2-9 00:00
我有一个批处理文件的问题,向大家请教。
>     1.  if  not  exist  c:\ucdos.bat  goto  win98
>         ......
>         etx  cl198
>         :wing98
>         ......
>     其中:etx  cl198,这句是什么意思?
>     
>     2.  pause  > nul
>      
>     疑问:我记得暂停用“pause”就行了,后面的“>nul”是什么意思?
>     
>     3.  mdir  c:\ah  /m  /f5000000
>         if  errorlevel  1  goto  inset1
>         goto   help
>         :inset1
>         ......
>     问:创建目录AH命令的后2个参数的意思是?第2句是判断什么错误啊,第3句是跳?
紿ELP段吗?我在整个批文件中没找到HELP的开头?
>     
>     4.  在批文件中象执行.COM 和 .BAT 一样,能打开 .TXT 和 .xls 文档吗?
>     5.  在批文件中能否判断硬盘的分区存在?象1中判断指定的文件是否存在一样,如我
要执行  MD  F:\HYQ  前先判断 F 是否存在?
>     6.  我执行(默认) MD  F:\HYQ  前,给用户一个提示,可以有用户自己来指定目
录名,并在后续的命令中用到这个目录名,有点象 C 语言中从键盘输入一个字符串,在批文件中能做到吗?怎么写?

   特别是 第 5、6 个问题 ?

作者: 5460myfriend     时间: 2004-2-12 00:00

    怎么没人???????????
作者: defrag     时间: 2005-1-8 00:00    标题: 回复:(xuan5272095)这是我仿照书上列子遍的*.bat文...



  Quote:
这是我仿照书上列子遍的*.bat文件,可运行时会出错,
请帮我看看


@echo off
choice /c:mde mem,defrag,end
if errorlevel 3 goto mem(应先判断数值最高的错误码)
if errorlevel 2 goto defrag
if errotlevel 1 goto end

:mem
mem
goto end
:defrag
c:\windows\defrag.exe
goto end
:end
echo good bye

@echo off
choice /c:mde mem,defrag,end
if errorlevel 3 goto end(应先判断数值最高的错误码)
if errorlevel 2 goto defrag
if errotlevel 1 goto mem
:mem
mem
goto end
:defrag
c:\windows\defrag.exe
goto end
:end
echo good bye
作者: defrag     时间: 2005-1-8 00:00    标题: 我们发现你们都把CHOICE的方法弄错了!!!出问题了我可不



  Quote:
以下是引用iceboy在2003-10-6 15:42:54的发言:
可以!最简单的方法就是用 Choice.com,复杂一点就用 Menustar、ChoiceX,或者编个小程序也行。

我们发现你们都把CHOICE的方法弄错了!!!出问题了我可不成但责任
@echo off
f:\pillow\dos\tw.exe
set path=f:\pillow\dos;e:\ghost
echo.
echo     MS-DOS 7.10 启动菜单
echo.
echo   1. 启动到 DOS
echo   2. 备份系统
echo   3. 恢复系统
echo.
choice /c:123 /n /t:1,30 请选择:
if errorlevel 3 goto DOS
if errorlevel 2 goto BACKUP
if errorlevel 1 goto RESTORE
OS
goto exit
:BACKUP
ghost -clone,mode=pdump,src=1:1,dst=e:\ghost\win2k_1.gh1 -fx -rb
goto exit
:RESTORE
ghost -clone,mode=pload,src=e:\ghost\win2000.gh1,dst=1:1 -rb
:exit




作者: 13670767243     时间: 2005-1-9 00:00
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C上面的意思就是把等于号"="后面的所有字符赋给变量%LglDrv%.


作者: 北山愚公     时间: 2005-2-13 00:00
这个贴子太好了,很有借鉴价值,应当排到前面去,顶!!!
作者: defrag     时间: 2005-4-23 00:00
验证“割的巴赫”猜想(请加上奇数)
:: Solve.bat - 验证哥德巴赫猜想的程序
:: Will Sort - 2004/11/18
::
:: 从素数堆垒程序变化而来
:: 环境变量说明:
::   iTest:测试数, iPrime:素数序号
::   divisor:用以判断素数的除数, iDivisor:除数序号
::   Factor1&amp;Factor2: 偶数的两个分解因子, iFactor1&amp;iFicator2:因子序号
::   less: 除法中不足除的标志, diff: 减法中有差值的标志
::
@echo off
if [%1]==[$] goto %2
if [%1]==[] %comspec% /e:4096 /c %0 $ init
del ~Solve.bat
goto end

:: 初始化: 产生素数2, 将它存为第一个素数, 设置循环起始值为3
:init
set iTest=I I
set iPrime=I
set %iPrime%=I I

:: 对3~n的奇数 %iTest% 与已产生的所有素数由小到大循环相除
:: 若全部未整除则将 %iTest% 存入素数 %iPrime%, 否则跳至 Solve
:: 对3~n的偶数 %iTest% 分解为已产生的两个素数之和
:: 若恰好分解则显示此偶数和两个分解因子, 否则继续循环 MainLoop
:MainLoop
:Prime - 判断奇数是否为素数
set iTest=I %iTest%
set iDivisor=I
    :PrimeLoop
    echo set divisor=%%%iDivisor%%%&gt;~Solve.bat
    call ~Solve.bat
    call %0 $ Divide %iTest%
    if "%less%"=="" goto Solve
    if "%iDivisor%"=="%iPrime%" goto IsPrime
    set iDivisor=I%iDivisor%
    goto PrimeLoop
:IsPrime
set iPrime=I%iPrime%
set %iPrime%=%iTest%
:Solve - 将偶数分解为素数之和
set iTest=I %iTest%
set iFactor1=
    :SolveLoop
    set iFactor1=I%iFactor1%
    if "%iFactor1%"=="I%iPrime%" goto SolveLoop
    set iFactor2=%iFactor1%
        :SolveSubLoop
        if "%iFactor2%"=="I%iPrime%" goto SolveLoop
        echo set Factor1=%%%iFactor1%%%&gt; ~Solve.bat
        echo set Factor2=%%%iFactor2%%%&gt;&gt;~Solve.bat
        call ~Solve.bat
        call %0 $ Minus %iTest%
        if "%diff%"=="" goto IsSolve
        set iFactor2=I%iFactor2%
        goto SolveSubLoop
:IsSolve
echo %iTest%
echo %Factor1% + %Factor2%
if "%iPrime%"=="IIIIIIIII" goto end
goto MainLoop

:: 将传入的被除数 %iTest% 除以(循环减)除数 %divisor%
:: 若不足除 (无法整除) 则返回不足信号 less, 否则直接返回
:Divide
for %%n in (%divisor%) do shift
if not [%3]==[] goto Divide
set less=
if [%2]==[] set less=true
goto end

:: 将传入的被减数 %iTest% 减去减数 %Factor1% 和 %Factor2%
:: 若有差值 (无法分解) 则返回相差信号 diff, 否则直接返回
:Minus
for %%n in (%Factor1%) do shift
for %%n in (%Factor2%) do shift
set diff=
if "%2"=="" set diff=true
if not "%3"=="" set diff=true
goto end

:end

作者: defrag     时间: 2005-4-23 00:00
得到了但看不懂
作者: defrag     时间: 2005-4-23 00:00

[em01]用【code】【/code】(用英文的,现在我只能用中文表示)输入缩进文本
作者: defrag     时间: 2005-4-23 00:00
要问就找willsort吧,她事很熟,批处理专家
作者: defrag     时间: 2005-4-23 00:00
请写一个如下界面:
|----------------------------------------------|
| -- | Windows3.x                        | V |
|----------------------------------------------|
|                                             |
|                                             |
|                                             |
|                                             |
|==============================================|
|                       ||       ||  || || || |
|==============================================|

作者: freelow     时间: 2005-4-25 00:00
学习BAT的教材很难找 都是一些零散的
作者: dodo5208     时间: 2005-4-28 00:00
谁能用dos命令帮我写个zip自解压程序,就是大约3分中就可以压缩120套图片的那中程序,效率很高的那中.谢谢.我的QQ:116294929
作者: defrag     时间: 2005-5-21 00:00
斑竹,这是我的autoexec.bat文件的内容(请结合config.sys诊断室的文件来看):@ECHO
OFFgoto %config%:KVD2003@ECHO OFFset EXPAND=YESSET
DIRCMD=/Nclspath=a:\;CLSECHO.ECHO                    
This is a KV2003 2003-6-30  5M DOS Edition
!ECHO.ECHO                    
Kvd2003 32bit version 7.01.213
(DOS32V)echo.echo                           
Make by  ** Shadowman **echo. echo
-----------------------------------------------------------------------------KVD2003:JMHDFIXJMHDFIX@ECHO OFF

configs$=environ$("config"

gosub configs$

end



KVD2003:

environ "EXPAND"="YES"

environ "DIRCMD"="/N"

cls

environ "path"="a:\;"

CLS

?

?
"                  
This is a KV2003 2003-6-30  5M DOS Edition !"

?

?
"                  
Kvd2003 32bit version 7.01.213 (DOS32V)"

?

?
"                           
Make by  ** Shadowman **"

?

? "-----------------------------------------------------------------------------"

SHELL "KVD2003"

RETURN



JMHDFIX:

SHELL "JMHDFIX"

RETURN
作者: 6622186     时间: 2007-3-3 11:44
如是大师的诗是自己写的吗?, 意境很高, 并用很有趣.
作者: 6622186     时间: 2007-3-3 11:54
我觉得弄懂 if for set 这几个命令就差不多了, 可惜我就是无法完全弄懂, 郁闷!
作者: ZJHJ     时间: 2007-3-4 04:18    标题: 为什么这个程序运行时会关闭bat窗口?

我写了个30天使用期检测程序,在 8月 ,9月或每月8日 9日 运行时为什么会关闭bat窗口?

程序如下:
@echo off
:: 30天使用期检测  yc wangwei070116
:: 写入原始日期
if exist  YRQ.TXT  goto  A
@echo %date%>YRQ.TXT
:A
:: 写入现在日期
@echo %date%>xRQ.TXT
:: 现在日期检出
FOR /F %%j IN (xRQ.TXT) DO SET xrq=%%j
set _xrq_bt=%xrq%
set /a xrq_bt=%_xrq_bt:~8,2%
:: 现在月数检出
set /a xyq_bt=%_xrq_bt:~5,2%
:: 原始日期检出
FOR /F %%I IN (YRQ.TXT) DO SET yrq=%%I
set _yrq_at=%yrq%
set /a yrq_at=%_yrq_at:~8,2%
:: 原始月数检出
set /a yyf_at=%_yrq_at:~5,2%
:: 计算间隔天数: 现在-原始
if %xrq_bt% lss %yrq_at% (
    set /a xrq_bt=%xrq_bt%
)
set /a rq=%xrq_bt%-%yrq_at%
:: 计算间隔月数: 现在-原始
if %xyq_bt% lss %yyf_at% (
    set /a xyq_bt=%xyq_bt%+12
)
set /a ys=%xyq_bt%-%yyf_at%
::  还余天数
set /a srq=30-%rq%
::  还余天数(出现负数时)
set /a hrq=-%rq%
::  间隔月数等于或大于1时
IF "%ys%"=="1" goto  B
IF "%ys%"=="2" goto  C
IF "%ys%"=="3" goto  C
IF "%ys%"=="4" goto  C
IF "%ys%"=="5" goto  C
IF "%ys%"=="6" goto  C
IF "%ys%"=="7" goto  C
IF "%ys%"=="8" goto  C
IF "%ys%"=="9" goto  C
IF "%ys%"=="10" goto  C
IF "%ys%"=="11" goto  C
IF "%ys%"=="12" goto  C
@echo.
@echo         试用期还余%srq%天
@echo.
pause
goto  k
:B
::  间隔天数大于1时(当间隔月数等于1时)
IF "%rq%"=="1"   goto  C
IF "%rq%"=="2"   goto  C
IF "%rq%"=="3"   goto  C
IF "%rq%"=="4"   goto  C
IF "%rq%"=="5"   goto  C
IF "%rq%"=="6"   goto  C
IF "%rq%"=="7"   goto  C
IF "%rq%"=="8"   goto  C
IF "%rq%"=="9"   goto  C
IF "%rq%"=="10"   goto  C
IF "%rq%"=="11"   goto  C
IF "%rq%"=="12"   goto  C
IF "%rq%"=="13"   goto  C
IF "%rq%"=="14"   goto  C
IF "%rq%"=="15"   goto  C
IF "%rq%"=="16"   goto  C
IF "%rq%"=="17"   goto  C
IF "%rq%"=="18"   goto  C
IF "%rq%"=="19"   goto  C
IF "%rq%"=="20"   goto  C
IF "%rq%"=="21"   goto  C
IF "%rq%"=="22"   goto  C
IF "%rq%"=="23"   goto  C
IF "%rq%"=="24"   goto  C
IF "%rq%"=="25"   goto  C
IF "%rq%"=="26"   goto  C
IF "%rq%"=="27"   goto  C
IF "%rq%"=="28"   goto  C
IF "%rq%"=="29"   goto  C
IF "%rq%"=="30"   goto  C
@echo.
@echo       试用期还余%hrq%天
@echo.
pause
goto  k
:C
@echo.
@echo.
@echo                       30天试用期已满,程序终止运行。
ping/n 10 127.1>nul
::  在 8月 ,9月或每月8日 9日 运行时为什么会关闭bat窗口?
goto  eof
:k
:: 执行程序
........
........

[ Last edited by ZJHJ on 2007-3-4 at 04:31 AM ]
作者: icydawn     时间: 2007-3-4 05:03    标题: 批处理关不了机?

我在电脑的启动程序里面添加了定时关机的批处理程序
如下:
at 23:25 shutdown -s -f -t 10
电脑关机的时候,有时候能正常关机,有时仍然会显示鼠标的指针和卡巴的图标在上面,电脑的指示灯还亮着.(尤其正运行别的程序的时候,简直是100%不能关闭).怎么回事啊?
请楼主帮忙诊断下..
不胜感激!!