[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 如何在满足条件的情况下跳出一次for循环继续下一次循环操作

如题,问题比较拗口。
可能是个简单,也很容易的问题,但是鄙人菜鸟,不是很懂。
for循环中如何在满足条件的情况下跳出本次循环,继续下一次循环呢?
goto :eof好像是跳出整个循环操作

setlocal enablede……
for /f "delims=" %%i in ('dir /a /b *.txt') do (
echo %%i
set /p var=该文件是你查找的文件吗?
if !var!==n 执行下一次循环,下面的命令不再执行
echo 该文件是欲查找文件。
)

红色字体的命令如何填写?
不用if else写。

[ 本帖最后由 0428_hai 于 2009-7-23 21:29 编辑 ]

原帖由 more 于 2009-7-23 22:51 发表
试试用call看看?@echo off
for /f "delims=" %%i in ('dir /a /a-d /b *.txt') do (
echo %%i
call ut
)
goto :eof
:out
set var=&set /p var=该文件是你查找的文件吗?:
if /i "%var%"=="n" goto :eof
e ...


这位仁兄的方案貌似是可行的,谢谢了。。

原帖由 Batcher 于 2009-7-23 22:59 发表
管道符只有一个,那就是|
||、&&、&之类的叫做命令连接符


题外话,这个&&的作用好像是只有在前面的命令运行成功后,才执行连接符后面的命令,可这个运行成功是什么意思呢?
我删除一个文件 del /f /q a.txt ,这个a.txt文件不存在,算是运行成功吗?为什么?

TOP

原帖由 more 于 2009-7-24 17:52 发表

试试???
@echo off
:agn
md more 2>nul&&echo.创建成功...||(echo.创建失败...&&ping -n 3 127.1>nul&goto :eof)
ping -n 3 127.1>nul
goto :agn


已测试,将md替换为rd结果也是
成功
失败

但是,将md换为del,那么结果就一直是
成功
成功
成功
……

这是为什么呢?md和rd在创建和删除时遇到已存在或不存在时就是操作失败,可del在没发现要删除的文件时,却依然是操作成功?为什么呢?

TOP

返回列表