中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 批处理求教。。。 上一主题 | 下一主题
jieok3375
中级用户





积分 282
发帖 130
注册 2006-9-20
来自 广东
状态 离线
『楼 主』:  批处理求教。。。

因每次都要去LAN中的另一台电脑中去登录文件(file1,file2),但file1,file2时常被人删

偶就编了下面的批处理(偶是菜鸟),用做file1,file2备份,偶想做的更好些,请大家帮忙。

要求:1、在建立边接之前先判断要边的那个IP在不在,在则边,不在给出提示,退出或直接退出。

      2、能不能用errorlevel 代替else  ,可以的话,请帮忙写出来,偶不会用errorlevel goto。

         也不懂返回码,,,那位大虾懂,,教下偶,,,
      3、有更好的批处理,请贴出来,,多谢。。。
      4、如何判断命令执行后的返回码,,请教大虾们。。。。
==============begin================================
@echo off
net use \\ip address\share password /user:userneme
if exist \\ip address\share\file1 (
   copy \\ip address\share\file1 f:\backup
   ) else (
   copy f:\backup\file1 \\ip address\share
   )
if exist \\ip address\share\file2 (
   copy \\ip address\share\file2 f:\backup
   ) else (
   copy f:\backup\file2 \\ip address\share
   )
exit
==============end===================================

2006-9-21 00:26
查看资料  发送邮件  发短消息 网志  OICQ (147385156)  编辑帖子  回复  引用回复
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 2 楼』:  

在你的基础上稍微的改了一下,先试试吧

@echo off
net use \\ip address\share password /user:userneme 2>nul||goto quit

if exist \\ip address\share\file1 (
copy \\ip address\share\file1 f:\backup
) else (
copy f:\backup\file1 \\ip address\share
)
if exist \\ip address\share\file2 (
copy \\ip address\share\file2 f:\backup
) else (
copy f:\backup\file2 \\ip address\share
)
exit

:quit
echo 对不起,对方也许不在线!!!
goto :eof



我今后在论坛的目标就是做个超级坏人!!!
2006-9-21 00:48
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 3 楼』:  

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

大概是这个意思,楼主随便写个测试下

2006-9-21 01:07
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 4 楼』:  

其实楼主的代码已经很优了, 用else比返回值判断要好.

pip的代码也解决了先判断IP是否存在, 如果不通则加快了脚本的执行时间, 直接退出来了, 而不用执行下面两个if语句



业精于勤而荒于嬉,形成于思而毁于随。
2006-9-21 01:38
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
jieok3375
中级用户





积分 282
发帖 130
注册 2006-9-20
来自 广东
状态 离线
『第 5 楼』:  

偶试了,2楼的方法可以,,但偶不明白加“2>nul||goto quit”是什么意思,,还有:goto :eof”  ,,也不明白有什么用,,,,能否解释一下。。。
多谢………………

2006-9-21 22:57
查看资料  发送邮件  发短消息 网志  OICQ (147385156)  编辑帖子  回复  引用回复
jieok3375
中级用户





积分 282
发帖 130
注册 2006-9-20
来自 广东
状态 离线
『第 6 楼』:  

请高手再指点下…………
那位有相关的资料可以发给我,,给我地址也行,,,
多谢大家

2006-9-21 23:26
查看资料  发送邮件  发短消息 网志  OICQ (147385156)  编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 7 楼』:  



  Quote:
偶试了,2楼的方法可以,,但偶不明白加“2>nul||goto quit”是什么意思,,还有:goto :eof”  ,,也不明白有什么用,,,,能否解释一下。。。

关于这些用法在本版的很多贴子中都有过讨论,建议你在提问前能多翻翻老贴,多看看 帮助与支持。
2>nul 的作用是 不显示错误的输出
||       的作用是 如果前面的命令执行不成功则执行后面的命令
goto :eof 表示跳转到批处理末尾

2006-9-21 23:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 8 楼』:  

  3742668版主的话还有可以补充的地方,我就来罗嗦两句吧:

  &&  与||的作用相反,如果前面的语句执行成功,才执行后面的语句
  goto :eof  如果没有自行定义:eof标签段的话,那么,这条语句就是跳转到批处理文件的末尾。因为批处理文件的末尾没有任何语句,所以,这个语句的作用和exit大致相同。之所以不能完全等同于exit,是因为如果用在call语句调用的标签段中,这条语句就不能用exit来替换,因为exit是直接退出CMD窗口,而goto :eof的作用只是跳转到文件的末尾而已。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-22 01:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





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

被删除了是共享权限没设置好




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-9-22 01:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
samsunle
新手上路





积分 2
发帖 1
注册 2005-8-23
状态 离线
『第 10 楼』:  

学习中

2006-9-22 02:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jieok3375
中级用户





积分 282
发帖 130
注册 2006-9-20
来自 广东
状态 离线
『第 11 楼』:  

多谢大家,,,偶懂了,,,

再次感谢大家。。。。。

2006-9-22 22:55
查看资料  发送邮件  发短消息 网志  OICQ (147385156)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 12 楼』:  


──────────────── 版务记录 ────────────────
执行:namejm
原标题: 批处理求教。。。
说明:因标题过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。
提示:修改标题请在当前帖的右下脚点
编辑修改完毕之后按 编辑帖子 即可。
处罚:因脱离论坛新人阶段不久,暂时不予处罚;若三日之后尚未修改标题,将扣除4点
      积分,以示惩罚,并由版主强制修改标题。请点击
这里阅读论坛发帖规定,以避免在
      今后的讨论中违规发帖。
──────────────── 版务记录 ────────────────




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-22 08:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
gxfc
新手上路





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

学习

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

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


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



论坛跳转: