中国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机中指定文件的批处理
« [1] [2] [3] »
作者:
标题: dos6.22机上做个拷XP机中指定文件的批处理 上一主题 | 下一主题
rgb82754670
初级用户

rgb红绿蓝


积分 126
发帖 42
注册 2006-7-22
状态 离线
『楼 主』:  dos6.22机上做个拷XP机中指定文件的批处理

菜鸟级问题,请高手帮忙为盼,谢谢

在MS-DOS6.22下使用MSCLIENT3.0,NETBUI协议与XP机联网成功。
映射XP机的D:\CC网络盘为F:

想在DOS机上做个CC.BAT,

DOS机上键入CC空格123回车,能把F:\123.WBF文件拷到DOS机当前位置,

如果XP机没开或网络断开则提示XP机没开或网络断开,并按任意建返回DOS;

如果XP机上没有123.WBF则提示网络上没有此文件,并按任意建返回DOS;

如果拷贝成功则显示成功并按任意建继续执行DD空格123.WBF(DD是一个EXE文件)
cc.bat
@echo off
rem 如何检测xp机
copy f:\%1.wbf



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




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  


@echo off
rem 如何检测xp机...
dir F:\>nul && goto thing || (echo XP机没有开机或者网络断开了...&goto :eof)
if not exist F:\123.WBF (
echo 网络上没有此文件...& pause &goto :eof
)
:thing
copy F:\%1.Wbf %1_.wbf
:eof
  
  代码未测试,有问题请跟帖讨论...


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

rgb红绿蓝


积分 126
发帖 42
注册 2006-7-22
状态 离线
『第 3 楼』:  

dir F:\>nul && goto thing || (echo XP机没有开机或者网络断开了...&goto :eof)
此句是说显示f:\的内容到nul,如果出错将执行下一行判断f:\1%.wbf,如果没出错继续执行:thing如出错显示XP机没有开机或者网络断开了...好像这理解不通??

不知道这里的()与下面的()是什么作用,因为是菜鸟级,请不吝赐教。


我记得以下对吗?

&&它在从前往后依次执行被它连接的几个命令时会自动判断是否有某个命令执行出错,一旦发现出错后将不继续执行后面剩下的命令。

||在执行多条命令时,当遇到一个执行正确的命令就退出此命令组合,不再继续执行下面的命令。

&的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败。



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




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:  


  不知道这位兄弟测试这段代码了没有?如果有什么问题,可以继续发帖来讨论。欢迎大家一起来讨论。


2006-10-22 10:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gxfc
新手上路





积分 17
发帖 11
注册 2006-10-22
状态 离线
『第 5 楼』:  

要执行命令 && 成功 || 不成功

在MS-DOS6.22下不能实现吧。

[ Last edited by gxfc on 2006-10-22 at 13:54 ]

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




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  


  怎么不能实现?可以说明一下原因么?


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

rgb红绿蓝


积分 126
发帖 42
注册 2006-7-22
状态 离线
『第 7 楼』:  测试结果

注:红色文字是测试以后我加的
@echo off
rem 如何检测xp机...
dir F:\>nul && goto thing || (echo XP机没有开机或者网络断开了...&goto :eof)  rem dos6.22提示语法错误syntax error
if not exist F:\%1.WBF (
echo 网络上没有此文件...& pause &goto :eof
) rem 因为这)dos6.22提示bad command or file name
:thing
copy F:\%1.Wbf /y
:eof
把上面存为881.bat
dos6.22下测试结果:
1。881 zxy107zw回车;如果网络正常并且f:\zxy107zw.wbf文件有则显示
syntax error
几个乱码(因为没有中文系统)...&pause &goto :eof
bad command or file name
        1 file(s) copied

2。881 zxy107z回车;如果网络正常并且f:\zxy107z.wbf文件没有则显示
syntax error
bad command or file name
几个乱码(因为没有中文系统)...&pause &goto :eof
bad command or file name
file not found -f:\zxy107z.wbf
       0file(s) copied

3。881回车;如果网络正常则显示
syntax error
bad command or file name
几个乱码(因为没有中文系统)...&pause &goto :eof
bad command or file name
path not found
4.881 zxy107zw回车;如果网络断开则显示
syntax error
bad command or file name
几个乱码(因为没有中文系统)...&pause &goto :eof
bad command or file name
extended error 53
5.881回车;如果网络断开则显示
syntax error
bad command or file name
几个乱码(因为没有中文系统)...&pause &goto :eof
bad command or file name
path not found

[ Last edited by rgb82754670 on 2006-10-23 at 01:55 ]



[rgb红绿蓝
2006-10-23 01:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
rgb82754670
初级用户

rgb红绿蓝


积分 126
发帖 42
注册 2006-7-22
状态 离线
『第 8 楼』:  

请高手帮我看看,错在哪?(dos6.22系统)
不管我881后的文件在不在都会执行ck81.bat为什么?
881.bat内容如下:
@echo off
if exist F:\%1.WBF goto _copy
else goto end
:_copy
copy F:\%1.Wbf /y
ck81.bat 1%.wbf
:end
echo not files

我的目的是如果f:\1%.wbf不在,则显示not files并且返回dos;
               如果f:\1%.wbf在,则copy f:\1%.wbf/y 并且执行ck81.bat 1%.wbf

[ Last edited by rgb82754670 on 2006-10-23 at 05:41 ]



[rgb红绿蓝
2006-10-23 05:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ptsxb
新手上路





积分 4
发帖 2
注册 2006-10-22
状态 离线
『第 9 楼』:  

呵呵都是高手呀

2006-10-23 05:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 10 楼』:  


@echo off
if exist "%~f1" (
copy "%~f1" filename.%~x1
start "" ck81.bat
start "" "%~f1"
) else (
echo %1不存在
)
exit
  格式为881.bat zxy107zw.wbf,注意要带扩展名,复制之后的文件名为filename.wbf的形式,如果还有问题,再跟帖讨论。本人测试通过……


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

rgb红绿蓝


积分 126
发帖 42
注册 2006-7-22
状态 离线
『第 11 楼』:  

首先感谢lxmxn大力帮助,
请问你是哪个系统下测试通过,
我要的是DOS6.22下的批处理。



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




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 12 楼』:  


Re:rgb82754670
  
  我的系统是:Windows XP sp2,cmd.exe命令提示符下测试通过。
  
  我想也应该可以用在DOS下吧……


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

rgb红绿蓝


积分 126
发帖 42
注册 2006-7-22
状态 离线
『第 13 楼』:  

lxmxn兄,看过7楼了吗,这是我dos6.22下测试的结果,有些批处理命令不能用



[rgb红绿蓝
2006-10-23 08:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 14 楼』:  

DOS 6.22 不支持 || && () 等。所以现在批处理分两种,一个是 MS-DOS Batch一种是 NT Batch。lxmxn的批处理不错但是要知道,纯DOS的批处理比XP下的艰苦n倍…………往日不堪回首~~

至于楼主的批处理估计需要多次 if errorlevel 才能成功。

[ Last edited by electronixtar on 2006-10-23 at 08:59 ]




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-23 08:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
rgb82754670
初级用户

rgb红绿蓝


积分 126
发帖 42
注册 2006-7-22
状态 离线
『第 15 楼』:  

electronixtar大虾,就伸手帮一下愚弟,怎么个多次 if errorlevel; 先谢了。



[rgb红绿蓝
2006-10-23 10:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: