中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 06:50
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理求教。。。
可打印版本  1,968 / 12
第1楼 jieok3375 发表于 2006-09-21 00:26
中级用户 发帖 130 积分 282 来自 广东
批处理求教。。。
因每次都要去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===================================
第2楼 9527 发表于 2006-09-21 00:48
银牌会员 发帖 438 积分 1,185 来自 北京
在你的基础上稍微的改了一下,先试试吧

@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
第3楼 vkill 发表于 2006-09-21 01:07
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
要执行命令 && 成功 || 不成功

大概是这个意思,楼主随便写个测试下
第4楼 pengfei 发表于 2006-09-21 01:38
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
其实楼主的代码已经很优了, 用else比返回值判断要好.

pip的代码也解决了先判断IP是否存在, 如果不通则加快了脚本的执行时间, 直接退出来了, 而不用执行下面两个if语句
第5楼 jieok3375 发表于 2006-09-21 22:57
中级用户 发帖 130 积分 282 来自 广东
偶试了,2楼的方法可以,,但偶不明白加“2>nul||goto quit”是什么意思,,还有:goto :eof” ,,也不明白有什么用,,,,能否解释一下。。。
多谢………………
第6楼 jieok3375 发表于 2006-09-21 23:26
中级用户 发帖 130 积分 282 来自 广东
请高手再指点下…………
那位有相关的资料可以发给我,,给我地址也行,,,
多谢大家
第7楼 3742668 发表于 2006-09-21 23:47
荣誉版主 发帖 718 积分 2,013
偶试了,2楼的方法可以,,但偶不明白加“2>nul||goto quit”是什么意思,,还有:goto :eof” ,,也不明白有什么用,,,,能否解释一下。。。

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

  &&  与||的作用相反,如果前面的语句执行成功,才执行后面的语句
  goto :eof  如果没有自行定义:eof标签段的话,那么,这条语句就是跳转到批处理文件的末尾。因为批处理文件的末尾没有任何语句,所以,这个语句的作用和exit大致相同。之所以不能完全等同于exit,是因为如果用在call语句调用的标签段中,这条语句就不能用exit来替换,因为exit是直接退出CMD窗口,而goto :eof的作用只是跳转到文件的末尾而已。
第9楼 electronixtar 发表于 2006-09-22 01:52
铂金会员 发帖 2,672 积分 7,493
被删除了是共享权限没设置好
第10楼 samsunle 发表于 2006-09-22 02:39
新手上路 发帖 1 积分 2
学习中
第11楼 jieok3375 发表于 2006-09-22 22:55
中级用户 发帖 130 积分 282 来自 广东
多谢大家,,,偶懂了,,,

再次感谢大家。。。。。
第12楼 namejm 发表于 2006-10-22 08:18
荣誉版主 发帖 1,737 积分 5,226 来自 成都

──────────────── 版务记录 ────────────────
执行:namejm
原标题: 批处理求教。。。
说明:因标题过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。
提示:修改标题请在当前帖的右下脚点
编辑修改完毕之后按 编辑帖子 即可。
处罚:因脱离论坛新人阶段不久,暂时不予处罚;若三日之后尚未修改标题,将扣除4点
积分,以示惩罚,并由版主强制修改标题。请点击
这里阅读论坛发帖规定,以避免在
今后的讨论中违规发帖。
──────────────── 版务记录 ────────────────
第13楼 gxfc 发表于 2006-10-22 13:57
新手上路 发帖 11 积分 17
学习
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023