请教DOS命令中判断语句的用法,就是判断bat中前一行执行成功后在执行下一行,失败则执行另一行,或不执行

copyf:\*.baky:(这里可以判断是否要覆盖,然后自动选不覆盖吗)delf:\*.bak(这里需要判断前面复制成功没有)... copy f:\*.bak y: (这里可以判断是否要覆盖,然后自动选不覆盖吗)
del f:\*.bak (这里需要判断前面复制成功没有)
展开
 我来答
己闻楣Sx
2011-10-20 · TA获得超过1935个赞
知道大有可为答主
回答量:1057
采纳率:93%
帮助的人:903万
展开全部
没有自动选不覆盖的简单机制,一般采用只拷贝不存在文件的思路,批处理如下:
@ECHO OFF
SETLOCAL
SET /A ErrCount=0
PUSHD F:\
FOR %%F IN (*.bak) DO (
REM 判断Y:没有这个文件时,才进行拷贝,无需回答是否覆盖的问题
IF NOT EXIST Y:%%F COPY %%F Y:
REM 递增发生错误的次数,一般来说不会出错,但如果Y:空间不足,或者F:某个文件被其它程序独占打开而禁止访问时会发生
IF ERRORLEVEL 1 SET /A ErrCount+=1
)
REM 判断是否没有错误发生过,没有的话,才删除F:的有关文件
IF %ErrCount% EQU 0 DEL *.bak /Q
POPD
ENDLOCAL
jd08139
2011-10-20 · TA获得超过3733个赞
知道大有可为答主
回答量:2174
采纳率:66%
帮助的人:2836万
展开全部
copy f:\*.bak y:
if %errorlevel%==0 del f:\*.bak else 执行失败时的语句
del f:\*.bak
更多追问追答
追问
怎么有两次 del
那判断成功或失败不都把 bak给删了吗?
追答
我是先复制你的代码 然后写的 所以没注意看 后面那个del f:\*.bak 不需要
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式