中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 05:55
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理求教。。。 查看 1,967 回复 12
楼 主 批处理求教。。。 发表于 2006-09-21 00:26 ·  中国 广东 东莞 电信
中级用户
★★
积分 282
发帖 130
注册 2006-09-20 22:25
19年会员
UID 63201
来自 广东
状态 离线
因每次都要去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 发表于 2006-09-21 00:48 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
19年会员
UID 61449
来自 北京
状态 离线
在你的基础上稍微的改了一下,先试试吧

@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 发表于 2006-09-21 01:07 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
要执行命令 && 成功 || 不成功

大概是这个意思,楼主随便写个测试下
4 发表于 2006-09-21 01:38 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 1,218
发帖 485
注册 2006-07-21 21:24
20年会员
UID 58987
来自 湖南.娄底
状态 离线
其实楼主的代码已经很优了, 用else比返回值判断要好.

pip的代码也解决了先判断IP是否存在, 如果不通则加快了脚本的执行时间, 直接退出来了, 而不用执行下面两个if语句
业精于勤而荒于嬉,形成于思而毁于随。
5 发表于 2006-09-21 22:57 ·  中国 广东 东莞 电信
中级用户
★★
积分 282
发帖 130
注册 2006-09-20 22:25
19年会员
UID 63201
来自 广东
状态 离线
偶试了,2楼的方法可以,,但偶不明白加“2>nul||goto quit”是什么意思,,还有:goto :eof” ,,也不明白有什么用,,,,能否解释一下。。。
多谢………………
6 发表于 2006-09-21 23:26 ·  中国 广东 东莞 电信
中级用户
★★
积分 282
发帖 130
注册 2006-09-20 22:25
19年会员
UID 63201
来自 广东
状态 离线
请高手再指点下…………
那位有相关的资料可以发给我,,给我地址也行,,,
多谢大家
7 发表于 2006-09-21 23:47 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
偶试了,2楼的方法可以,,但偶不明白加“2>nul||goto quit”是什么意思,,还有:goto :eof” ,,也不明白有什么用,,,,能否解释一下。。。

关于这些用法在本版的很多贴子中都有过讨论,建议你在提问前能多翻翻老贴,多看看 帮助与支持。
2>nul 的作用是 不显示错误的输出
|| 的作用是 如果前面的命令执行不成功则执行后面的命令
goto :eof 表示跳转到批处理末尾
8 发表于 2006-09-22 01:12 ·  中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  3742668版主的话还有可以补充的地方,我就来罗嗦两句吧:

  &&  与||的作用相反,如果前面的语句执行成功,才执行后面的语句
  goto :eof  如果没有自行定义:eof标签段的话,那么,这条语句就是跳转到批处理文件的末尾。因为批处理文件的末尾没有任何语句,所以,这个语句的作用和exit大致相同。之所以不能完全等同于exit,是因为如果用在call语句调用的标签段中,这条语句就不能用exit来替换,因为exit是直接退出CMD窗口,而goto :eof的作用只是跳转到文件的末尾而已。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
9 发表于 2006-09-22 01:52 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
被删除了是共享权限没设置好

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'>"
10 发表于 2006-09-22 02:39 ·  中国 湖北 武汉 电信
新手上路
积分 2
发帖 1
注册 2005-08-23 11:54
20年会员
UID 41874
性别 男
状态 离线
学习中
11 发表于 2006-09-22 22:55 ·  中国 广东 东莞 电信
中级用户
★★
积分 282
发帖 130
注册 2006-09-20 22:25
19年会员
UID 63201
来自 广东
状态 离线
多谢大家,,,偶懂了,,,

再次感谢大家。。。。。
12 发表于 2006-10-22 08:18 ·  中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线

──────────────── 版务记录 ────────────────
执行:namejm
原标题: 批处理求教。。。
说明:因标题过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。
提示:修改标题请在当前帖的右下脚点
编辑修改完毕之后按 编辑帖子 即可。
处罚:因脱离论坛新人阶段不久,暂时不予处罚;若三日之后尚未修改标题,将扣除4点
积分,以示惩罚,并由版主强制修改标题。请点击
这里阅读论坛发帖规定,以避免在
今后的讨论中违规发帖。
──────────────── 版务记录 ────────────────
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
13 发表于 2006-10-22 13:57 ·  中国 山西 阳泉 联通
新手上路
积分 17
发帖 11
注册 2006-10-22 13:10
19年会员
UID 67721
性别 男
状态 离线
学习
论坛跳转: