Board logo

标题: 批处理求教。。。 [打印本页]

作者: jieok3375     时间: 2006-9-21 00:26    标题: 批处理求教。。。

因每次都要去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===================================
作者: 9527     时间: 2006-9-21 00:48
在你的基础上稍微的改了一下,先试试吧

@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
作者: vkill     时间: 2006-9-21 01:07
要执行命令 && 成功 || 不成功

大概是这个意思,楼主随便写个测试下
作者: pengfei     时间: 2006-9-21 01:38
其实楼主的代码已经很优了, 用else比返回值判断要好.

pip的代码也解决了先判断IP是否存在, 如果不通则加快了脚本的执行时间, 直接退出来了, 而不用执行下面两个if语句
作者: jieok3375     时间: 2006-9-21 22:57
偶试了,2楼的方法可以,,但偶不明白加“2>nul||goto quit”是什么意思,,还有:goto :eof”  ,,也不明白有什么用,,,,能否解释一下。。。
多谢………………
作者: jieok3375     时间: 2006-9-21 23:26
请高手再指点下…………
那位有相关的资料可以发给我,,给我地址也行,,,
多谢大家
作者: 3742668     时间: 2006-9-21 23:47


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

关于这些用法在本版的很多贴子中都有过讨论,建议你在提问前能多翻翻老贴,多看看 帮助与支持。
2>nul 的作用是 不显示错误的输出
||       的作用是 如果前面的命令执行不成功则执行后面的命令
goto :eof 表示跳转到批处理末尾
作者: namejm     时间: 2006-9-22 01:12
  3742668版主的话还有可以补充的地方,我就来罗嗦两句吧:

  &&  与||的作用相反,如果前面的语句执行成功,才执行后面的语句
  goto :eof  如果没有自行定义:eof标签段的话,那么,这条语句就是跳转到批处理文件的末尾。因为批处理文件的末尾没有任何语句,所以,这个语句的作用和exit大致相同。之所以不能完全等同于exit,是因为如果用在call语句调用的标签段中,这条语句就不能用exit来替换,因为exit是直接退出CMD窗口,而goto :eof的作用只是跳转到文件的末尾而已。
作者: electronixtar     时间: 2006-9-22 01:52
被删除了是共享权限没设置好
作者: samsunle     时间: 2006-9-22 02:39
学习中
作者: jieok3375     时间: 2006-9-22 22:55
多谢大家,,,偶懂了,,,

再次感谢大家。。。。。
作者: namejm     时间: 2006-10-22 08:18

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

作者: gxfc     时间: 2006-10-22 13:57
学习