|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
16 楼』:
不好意思,因为没有DOS 6.22的环境,所以不知道哪些命令可以用,哪些不可以用。我也没办法。
|
|
2006-10-23 10:53 |
|
|
rgb82754670
初级用户
rgb红绿蓝
积分 126
发帖 42
注册 2006-7-22
状态 离线
|
『第
17 楼』:
不知道lxmxn兄能否就下面的几个命令帮我写个批处理
纯DOS自带的批处理命令:
@
CALL
CHOICE用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。
ECHO :显示指定的信息。通常显示在屏幕上。
FOR :用法:FOR %变量名 IN (文件集) DO 命令 [命令参数]
GOTO :转到批文件内部的某个标号下执行。
IF :条件判断命令。用法1:IF [NOT] EXIST 文件名 命令 [命令参数]
用法2:IF [NOT] ERRORLEVEL 错误返回代号 命令 [命令参数]
用法3:IF [NOT] 字符串1==字符串2 命令 [命令参数]
PAUSE :暂停批文件的执行,并显示“按任意键继续”的字样。
REM :添加注解。用于增加文件可读性,将不被执行。也可以用::来代替。
SHIFT :在批文件中改变可替换参数的位置。
可替换参数是一种特殊的参数,只能用在批文件中。这些参数是由使用者在执行批处理命令时输入的。比如,我们执行DIR /S /W命令,其中DIR是命令名,/S和/W是它的执行参数。在批文件中,这些命令参数将被分别赋予到可替换参数中,如/S就成的%1,/W就可了%2,以至类推,而命令本身则被赋予%0中。批文件就是利用可替换参数对执行时输入的参数来进行操作的。比如现在有个批处理文件叫MYFILE.BAT,在命令行下执行MYFILE.BAT YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判断出%1等参数的值,然后根据这些值的不同执行不同的操作,如IF "%1"=="YES" GOTO YES。
SHIFT命令不带任何参数,执行结果是将%0的值换成原%1的值,而原%1的值变成的原%2的值,以此类推。注意它的不可逆转性。因为批处理文件执行时的运行参数可能很多,可能会超过10个,而可替换参数只能从%0到%9,若想取得%9以后的参数值,只能使用SHIFT命令。这时,整个参数列将向前推。
|
[rgb红绿蓝 |
|
2006-10-26 10:49 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
18 楼』:
@echo off
dir f:\>nul 2>nul
if errorlevel 1 echo The Windows XP has not on OR the Network has disconnected.&pause&goto eof
if errerlevel 0 goto true
:true
if not exist F:\%1.wbf echo The Windows XP has not exist the file you want.&pause&goto eof
copy F:\%1.wbf .
echo One file(s) copied successfully.
pause
dd.exe %1.wbf
:eof 如果还是有问题,请继续跟帖讨论.
[ Last edited by lxmxn on 2006-10-26 at 02:10 PM ]
|
|
2006-10-26 14:09 |
|
|
rgb82754670
初级用户
rgb红绿蓝
积分 126
发帖 42
注册 2006-7-22
状态 离线
|
『第
19 楼』:
dos6.22下测试如下
1.SCREEN01.jpg
这是f:\没有dwl10z.wbf文件的结果。
接着按任意建进入dd.exe
2.SCREEN02.jpg
这是f:\有dwc10zwb.wbf文件的结果。
接着按任意建进入dd.exe
3.最后都进dd.exe
[ Last edited by rgb82754670 on 2006-10-27 at 11:13 AM ]
附件
1: SCREEN01.jpg (2006-10-27 11:03, 14.88 K, 下载附件所需积分 1 点
,下载次数: 3)
附件
2: SCREEN02.jpg (2006-10-27 11:12, 8.51 K, 下载附件所需积分 1 点
,下载次数: 2)
|
[rgb红绿蓝 |
|
2006-10-27 11:01 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
20 楼』:
兄弟,再试试这个,如果还不行,请继续跟帖讨论。=_=!!
@echo off
dir f:\
if errorlevel 1 goto fail
if errerlevel 0 goto true
:true
if not exist F:\%1.wbf goto yes
copy F:\%1.wbf .
echo One file(s) copied successfully.
pause
dd.exe %1.wbf
:fail
echo The Windows XP has not on OR the Network has disconnected.
pause
goto eof
:yes
echo The Windows XP has not exist the file you want.
pause
goto eof
:eof
p.s:没有想到DOS 6.22竟然不支持"&"连接符.汗一个..
|
|
2006-10-27 20:43 |
|
|
9527
银牌会员
努力做坏人
积分 1185
发帖 438
注册 2006-8-28 来自 北京
状态 离线
|
『第
21 楼』:
你八楼的代码改成以下试试,dos6.22 是不支持IF ELSE语句的,还有就是注意你的GOTO语句的转向问题,P处理是按顺序执行的
@echo off
if exist F:\%1.WBF goto _copy
goto kk
:_copy
copy F:\%1.Wbf /y
ck81.bat 1%.wbf
goto end
:kk
echo not files
:end
我的目的是如果f:\1%.wbf不在,则显示not files并且返回dos;
如果f:\1%.wbf在,则copy f:\1%.wbf/y 并且执行ck81.bat 1%.wbf
|
我今后在论坛的目标就是做个超级坏人!!! |
|
2006-10-27 22:24 |
|
|
NaturalJ0
银牌会员
积分 1181
发帖 533
注册 2006-8-14
状态 离线
|
『第
22 楼』:
@echo off
if %1#==# goto END
@ctty nul
command /f /c if not exist f:\nul echo not connected>state1.flg
command /f /c if not exist f:\%1.wbf echo file not exist>state2.flg
@ctty con
find "file not exist" state2.flg>nul
if errorlevel 1 GOTO COPY
find "not connected" state1.flg>nul
if errorlevel 1 GOTO NOFILE
type state1.flg
GOTO DEL
:NOFILE
type state2.flg
GOTO DEL
:COPY
copy f:\%1.wbf
:DEL
del state1.flg
del state2.flg
:END
if exist %1.wbf dd %1.wbf 不知道能不能帮上忙。试试?
[ Last edited by NaturalJ0 on 2006-10-27 at 11:50 PM ]
|
|
2006-10-27 23:32 |
|
|
rgb82754670
初级用户
rgb红绿蓝
积分 126
发帖 42
注册 2006-7-22
状态 离线
|
『第
23 楼』:
感谢21楼,你的方法可以
Quote: | Originally posted by 9527 at 2006-10-27 22:24:
你八楼的代码改成以下试试,dos6.22 是不支持IF ELSE语句的,还有就是注意你的GOTO语句的转向问题,P处理是按顺序执行的
@echo off
if exist F:\%1.WBF goto _c ... |
|
感谢21楼,你的方法可以
|
[rgb红绿蓝 |
|
2006-10-28 03:54 |
|
|
rgb82754670
初级用户
rgb红绿蓝
积分 126
发帖 42
注册 2006-7-22
状态 离线
|
『第
24 楼』:
Quote: | Originally posted by lxmxn at 2006-10-27 20:43:
兄弟,再试试这个,如果还不行,请继续跟帖讨论。=_=!!
[code]
@echo off
dir f:\
if errorlevel 1 goto fail
if errerlevel 0 goto true
:true
if n ... |
|
20楼的仁兄,dir f:\ 我有上万个文件,光显示都要很长时间,这不行。
但还是十分感谢
|
[rgb红绿蓝 |
|
2006-10-28 03:57 |
|
|
rgb82754670
初级用户
rgb红绿蓝
积分 126
发帖 42
注册 2006-7-22
状态 离线
|
『第
25 楼』:
Quote: | Originally posted by NaturalJ0 at 2006-10-27 23:32:
[code]
@echo off
if %1#==# goto END
@ctty nul
command /f /c if not exist f:\nul echo not connected>state1.flg
command /f /c if not exist f:\%1.wbf echo file not exist>state2.flg
@ctty c ... |
|
22楼的兄弟,你的我测试后结果:
如果881后没跟文件回车,显示空白一行
如果881 dwc07zwb.wbf(f:\存在这个文件)则ok
如果881 dwc07zw.wbf(f:\不存在这个文件)则显示not connected(但我网络是连接的
另外我不知道command/f是什么意思
[ Last edited by rgb82754670 on 2006-10-28 at 04:19 AM ]
附件
1: SCREEN03.jpg (2006-10-28 04:17, 15.45 K, 下载附件所需积分 1 点
,下载次数: 2)
|
[rgb红绿蓝 |
|
2006-10-28 04:13 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
26 楼』:
Quote: | Originally posted by rgb82754670 at 2006-10-28 03:57:
20楼的仁兄,dir f:\ 我有上万个文件,光显示都要很长时间,这不行。
但还是十分感谢 |
|
呵呵,不知道你有那么多文件啊。
如果你知道F:\盘有一个文件(new.wbf)的话,可以改成dir /b F:\new.wbf,这样速度应该会提高一点。
另外,我想知道我那个方法最后到底成功了没有?达到最终的目的了没有?
|
|
2006-10-28 04:49 |
|
|
NaturalJ0
银牌会员
积分 1181
发帖 533
注册 2006-8-14
状态 离线
|
『第
27 楼』:
如果没有连接,难道不会出现 A F R 选择?
dir f:\ (如果没有连接会提示什么?)
|
|
2006-10-28 07:56 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
28 楼』:
Quote: | Originally posted by NaturalJ0 at 2006-10-28 07:56:
如果没有连接,难道不会出现 A F R 选择?
dir f:\ (如果没有连接会提示什么?) |
|
什么A F R选择??可以说清楚一点否?
|
|
2006-10-28 10:16 |
|
|
NaturalJ0
银牌会员
积分 1181
发帖 533
注册 2006-8-14
状态 离线
|
『第
29 楼』:
CDR101: Not ready reading drive E
Abort, Retry, Fail?
比如这种,看来是我想错了。
|
|
2006-10-28 12:18 |
|
|
rgb82754670
初级用户
rgb红绿蓝
积分 126
发帖 42
注册 2006-7-22
状态 离线
|
『第
30 楼』:
20楼的仁兄我改成如下:881.bat,测试结果看附图
dir f:\1.wbf
if errorlevel 1 goto fail
if errerlevel 0 goto true
:true
if not exist F:\%1.wbf goto yes
copy F:\%1.wbf .
echo One file(s) copied successfully.
pause
ck2 %1.wbf
:fail
echo The Windows XP has not on OR the Network has disconnected.
pause
goto eof
:yes
echo The Windows XP has not exist the file you want.
pause
goto eof
:eof
测试结果看附图(网络正常,最后都没有执行ck2 1%)
[ Last edited by rgb82754670 on 2006-10-29 at 12:40 AM ]
附件
1: SCREEN04.jpg (2006-10-29 00:38, 13.33 K, 下载附件所需积分 1 点
,下载次数: 2)
附件
2: SCREEN05.jpg (2006-10-29 00:38, 13.12 K, 下载附件所需积分 1 点
,下载次数: 2)
|
[rgb红绿蓝 |
|
2006-10-29 00:38 |
|