玩批处理见鬼了,高难度问题
大家好,最近在学习批处理遇到个奇怪的问题..现贴出代码如下:@echooff@ifexistc:\temp11.vbsgotorebotecho错误pause:rebot...
大家好,最近在学习批处理遇到个奇怪的问题..现贴出代码如下:
@echo off
@if exist c:\temp11.vbs goto rebot
echo 错误
pause
:rebot
echo 正确
pause
大家可以试试保存为bat文件运行后,如果你的C盘没有temp11.vbs这个文件,那么他会提示错误,然后按任意键继续,我们在按键后,又提示正确,这说明程序的IF判断语句根本就没效果了.真是见了鬼了.那等于:rebot后面的语句又给运行了一次,怎么会这样呢..
我知道有个方法是在第一个pause后面加一句exit..但是我希望不要加这句,有什么更好的解决方式啊。谢谢大家...问题解决再追加20分.. 展开
@echo off
@if exist c:\temp11.vbs goto rebot
echo 错误
pause
:rebot
echo 正确
pause
大家可以试试保存为bat文件运行后,如果你的C盘没有temp11.vbs这个文件,那么他会提示错误,然后按任意键继续,我们在按键后,又提示正确,这说明程序的IF判断语句根本就没效果了.真是见了鬼了.那等于:rebot后面的语句又给运行了一次,怎么会这样呢..
我知道有个方法是在第一个pause后面加一句exit..但是我希望不要加这句,有什么更好的解决方式啊。谢谢大家...问题解决再追加20分.. 展开
3个回答
展开全部
不是批处理见鬼了,而是你写的代码有问题
@if exist c:\temp11.vbs goto rebot
echo 错误
pause
问题出在这,如果存在 c:\temp11.vbs 的话,就只会显示正确,但如果不存在的话,肯定显示错误,然后再继续执行
:rebot
echo 正确
pause
这三句代码。
你可以这样修改:
@echo off
@if exist c:\temp11.vbs goto rebot
echo 错误
pause
goto eof
:rebot
echo 正确
pause
@if exist c:\temp11.vbs goto rebot
echo 错误
pause
问题出在这,如果存在 c:\temp11.vbs 的话,就只会显示正确,但如果不存在的话,肯定显示错误,然后再继续执行
:rebot
echo 正确
pause
这三句代码。
你可以这样修改:
@echo off
@if exist c:\temp11.vbs goto rebot
echo 错误
pause
goto eof
:rebot
echo 正确
pause
展开全部
楼上的说对了.
确实是因为echo 错误以后没有及时跳转到结尾
@echo off
if exist c:\temp11.vbs goto rebot
echo 错误
pause
goto eof
:rebot
echo 正确
pause
最优化的办法:
@echo off
if exist c:\temp11.vbs if not exist c:\temp11.vbs\ goto rebot
echo 错误
pause
goto eof
:rebot
echo 正确
pause
否则如果那里有一个文件夹,名字叫temp.vbs那你就错完了."c:\temp11.vbs\" 进一步确认是否文件夹
确实是因为echo 错误以后没有及时跳转到结尾
@echo off
if exist c:\temp11.vbs goto rebot
echo 错误
pause
goto eof
:rebot
echo 正确
pause
最优化的办法:
@echo off
if exist c:\temp11.vbs if not exist c:\temp11.vbs\ goto rebot
echo 错误
pause
goto eof
:rebot
echo 正确
pause
否则如果那里有一个文件夹,名字叫temp.vbs那你就错完了."c:\temp11.vbs\" 进一步确认是否文件夹
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单的代码啊,为什么要写这么麻烦呢?
我以前写代码老是很烦琐,后来慢慢的简化了,能省则省
这样:
@echo off
if exist c:\temp11.vbs (echo 正确) else (echo 错误)
pause>nul
我以前写代码老是很烦琐,后来慢慢的简化了,能省则省
这样:
@echo off
if exist c:\temp11.vbs (echo 正确) else (echo 错误)
pause>nul
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询