中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » dos6.22机上做个拷XP机中指定文件的批处理
作者:
标题: dos6.22机上做个拷XP机中指定文件的批处理 上一主题 | 下一主题
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 16 楼』:   使用 LLM 解释/回答一下


  不好意思,因为没有DOS 6.22的环境,所以不知道哪些命令可以用,哪些不可以用。我也没办法。


2006-10-23 10:53
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
rgb82754670
初级用户

rgb红绿蓝


积分 126
发帖 42
注册 2006-7-22
状态 离线
『第 17 楼』:  不知道lxmxn兄能否就下面的几个命令帮我写个批处理 使用 LLM 解释/回答一下

纯DOS自带的批处理命令:

@
CALL
CHOICE用法:CHOICE:按键表] 选择值,秒数]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。
ECHO :显示指定的信息。通常显示在屏幕上。
FOR :用法:FOR %变量名 IN (文件集) DO 命令
GOTO :转到批文件内部的某个标号下执行。
IF :条件判断命令。用法1:IF EXIST 文件名 命令
用法2:IF ERRORLEVEL 错误返回代号 命令
用法3:IF 字符串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 楼』:   使用 LLM 解释/回答一下


@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下测试如下 使用 LLM 解释/回答一下

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 KiB, 下载附件所需积分 1 点 ,下载次数: 3)


附件 2: SCREEN02.jpg (2006-10-27 11:12, 8.51 KiB, 下载附件所需积分 1 点 ,下载次数: 2)




rgb红绿蓝
2006-10-27 11:01
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 20 楼』:   使用 LLM 解释/回答一下


  兄弟,再试试这个,如果还不行,请继续跟帖讨论。=_=!!

@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 楼』:   使用 LLM 解释/回答一下

你八楼的代码改成以下试试,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


   此帖被 +3 点积分       点击查看详情   
评分人:【 rgb82754670 分数: +3  时间:2006-10-28 03:29




我今后在论坛的目标就是做个超级坏人!!!
2006-10-27 22:24
查看资料  发短消息  网志  OICQ (329429)  编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 22 楼』:   使用 LLM 解释/回答一下


@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楼,你的方法可以 使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

Originally posted by lxmxn at 2006-10-27 20:43:

  兄弟,再试试这个,如果还不行,请继续跟帖讨论。=_=!!

@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 楼』:   使用 LLM 解释/回答一下

Originally posted by NaturalJ0 at 2006-10-27 23:32:

@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 KiB, 下载附件所需积分 1 点 ,下载次数: 2)




rgb红绿蓝
2006-10-28 04:13
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 26 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

如果没有连接,难道不会出现 A F R 选择?
dir f:\ (如果没有连接会提示什么?)


2006-10-28 07:56
查看资料  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 28 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

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,测试结果看附图 使用 LLM 解释/回答一下

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 KiB, 下载附件所需积分 1 点 ,下载次数: 2)


附件 2: SCREEN05.jpg (2006-10-29 00:38, 13.12 KiB, 下载附件所需积分 1 点 ,下载次数: 2)




rgb红绿蓝
2006-10-29 00:38
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: