标题: [文本处理] [已解决]批处理如何判断文件是否存在,存在则执行代码,不存在则退出! [打印本页]
作者: ksla 时间: 2016-1-22 11:13 标题: [已解决]批处理如何判断文件是否存在,存在则执行代码,不存在则退出!
本帖最后由 ksla 于 2016-1-22 13:49 编辑
1.首先运行:A.bat(A.bat可能会生成一个1.txt)
2.判断运行A.bat之后是否生成了1.txt文件
生成----则运行A.bat(循环运行A.bat,直到不生成1.txt)
不生成----运行两次A.bat也不出现1.txt则直接退出!
或者:
1.首先运行:A.bat(A.bat可能会生成一个1.txt)
2.判断运行A.bat之后是否生成了1.txt文件
生成----则运行A.bat(循环运行A.bat,直到不生成1.txt)
不生成----则直接退出!
有心人请帮帮忙,谢谢!
作者: ygqiang 时间: 2016-1-22 11:53
本帖最后由 ygqiang 于 2016-1-22 11:56 编辑
回复 1# ksla - @echo off
- if exist a.bat (
- :next
- start "" a.bat
- if exist 1.txt (goto :next)
- exit
- )
复制代码
作者: ksla 时间: 2016-1-22 12:08
回复 2# ygqiang
闪退...
作者: ygqiang 时间: 2016-1-22 12:42
回复 3# ksla
你的a.bat 1.txt文件,都存在?
作者: ksla 时间: 2016-1-22 12:47
回复 4# ygqiang
a.bat是存在,但1.txt要先运a.bat再生成出来的(可能生成,可能不生成。生成就继续运行a.bat,不生成就直接退出)
作者: ygqiang 时间: 2016-1-22 13:33
回复 5# ksla - @echo on
- if exist a.bat (
- :next
- echo exist a.bat
- start "" a.bat
- pause
- if exist 1.txt (echo exist 1.txt && pause && goto :next)
- echo not exist 1.txt
- pause
- exit
- )
- echo not exist a.bat
- pause
- exit
复制代码
运行这个,发截图看看?
作者: ksla 时间: 2016-1-22 13:48
本帖最后由 ksla 于 2016-1-22 15:32 编辑
回复 6# ygqiang
哥们,,谢谢你的回答,,我参考了论坛的帖子,已经制作出来了- @echo off
-
- :: 运行a.bat
- call "a.bat"
-
-
- :: 判断运行a.bat之后是否生成1.txt,生成则运行goto 1,不生成则运行goto 2
- if exist 1.txt (
- goto 1
- ) else (
- if not exist 1.txt goto 2
- )
-
-
-
- ::生成则重新运行此代码
- :1
- call "判断文件是否存在.bat"
- goto 1
-
-
-
- ::不生成直接退出
- :2
- exit
- goto 2
复制代码
作者: ygqiang 时间: 2016-1-22 14:01
回复 6# ygqiang
a.bat,生成1.txt,需要多久时间?
作者: ksla 时间: 2016-1-22 14:10
回复 8# ygqiang
不定的,,有时十几分钟,有时几个钟!
作者: ygqiang 时间: 2016-1-22 15:15
回复 9# ksla
a.bat,生成1.txt,需要多久时间?.
不定的,,有时十几分钟,有时几个钟!
判断运行A.bat之后是否生成了1.txt文件
那这个判断的代码,就需要修改下了。。
作者: ksla 时间: 2016-1-22 15:41
本帖最后由 ksla 于 2016-1-22 15:43 编辑
回复 10# ygqiang
我现在使用的是以下的批处理(确实很差劲的批处理),但尝试了几次,判断的代码也无出现错误,使用你新写的代码,还是闪退,,- @echo off
- :3
-
- :: 运行a.bat
- call "a.bat"
-
-
- :: 判断运行a.bat之后是否生成1.txt,生成则运行goto 2,不生成则运行goto 1
- if exist 1.txt (
- goto 2
- ) else (
- if not exist 1.txt goto 1
- )
-
- ::不生成直接退出
- :1
- exit
- goto 1
-
- ::生成则重新运行此代码
- :2
-
- goto 3
复制代码
作者: ygqiang 时间: 2016-1-22 16:32
回复 11# ksla
call "a.bat"是关键。。。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |