找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29384|回复: 11

[文本处理] [已解决]批处理如何判断文件是否存在,存在则执行代码,不存在则退出!

[复制链接]
发表于 2016-1-22 11:13:39 | 显示全部楼层 |阅读模式
本帖最后由 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)
不生成----则直接退出!


有心人请帮帮忙,谢谢!
发表于 2016-1-22 11:53:38 | 显示全部楼层
本帖最后由 ygqiang 于 2016-1-22 11:56 编辑

回复 1# ksla

  1. @echo off
  2. if exist a.bat (
  3. :next
  4. start "" a.bat
  5. if exist 1.txt (goto :next)
  6. exit
  7. )
复制代码
 楼主| 发表于 2016-1-22 12:08:06 | 显示全部楼层
回复 2# ygqiang


    闪退...
发表于 2016-1-22 12:42:12 | 显示全部楼层
回复 3# ksla


    你的a.bat  1.txt文件,都存在?
 楼主| 发表于 2016-1-22 12:47:19 | 显示全部楼层
回复 4# ygqiang


    a.bat是存在,但1.txt要先运a.bat再生成出来的(可能生成,可能不生成。生成就继续运行a.bat,不生成就直接退出)
发表于 2016-1-22 13:33:17 | 显示全部楼层
回复 5# ksla
  1.     @echo on
  2. if exist a.bat (
  3. :next
  4. echo exist a.bat
  5. start "" a.bat
  6. pause
  7. if exist 1.txt (echo exist 1.txt && pause && goto :next)
  8. echo not exist 1.txt
  9. pause
  10. exit
  11. )
  12. echo not exist a.bat
  13. pause
  14. exit
复制代码
运行这个,发截图看看?

评分

参与人数 1技术 +1 收起 理由
ksla + 1 乐于助人

查看全部评分

 楼主| 发表于 2016-1-22 13:48:38 | 显示全部楼层
本帖最后由 ksla 于 2016-1-22 15:32 编辑

回复 6# ygqiang

哥们,,谢谢你的回答,,我参考了论坛的帖子,已经制作出来了
  1. @echo off

  2. :: 运行a.bat
  3. call "a.bat"


  4. :: 判断运行a.bat之后是否生成1.txt,生成则运行goto 1,不生成则运行goto 2
  5. if exist 1.txt (
  6.   goto 1
  7. ) else (
  8.   if not exist 1.txt goto 2
  9. )



  10. ::生成则重新运行此代码
  11. :1
  12. call "判断文件是否存在.bat"
  13. goto 1



  14. ::不生成直接退出
  15. :2
  16. exit
  17. goto 2
复制代码
发表于 2016-1-22 14:01:24 | 显示全部楼层
回复 6# ygqiang


    a.bat,生成1.txt,需要多久时间?
 楼主| 发表于 2016-1-22 14:10:38 | 显示全部楼层
回复 8# ygqiang


    不定的,,有时十几分钟,有时几个钟!
发表于 2016-1-22 15:15:30 | 显示全部楼层
回复 9# ksla


a.bat,生成1.txt,需要多久时间?.
不定的,,有时十几分钟,有时几个钟!

    判断运行A.bat之后是否生成了1.txt文件
那这个判断的代码,就需要修改下了。。
 楼主| 发表于 2016-1-22 15:41:45 | 显示全部楼层
本帖最后由 ksla 于 2016-1-22 15:43 编辑

回复 10# ygqiang

我现在使用的是以下的批处理(确实很差劲的批处理),但尝试了几次,判断的代码也无出现错误,使用你新写的代码,还是闪退,,
  1. @echo off
  2. :3

  3. :: 运行a.bat
  4. call "a.bat"


  5. :: 判断运行a.bat之后是否生成1.txt,生成则运行goto 2,不生成则运行goto 1
  6. if exist 1.txt (
  7.   goto 2
  8. ) else (
  9.   if not exist 1.txt goto 1
  10. )

  11. ::不生成直接退出
  12. :1
  13. exit
  14. goto 1

  15. ::生成则重新运行此代码
  16. :2

  17. goto 3

复制代码
发表于 2016-1-22 16:32:25 | 显示全部楼层
回复 11# ksla


    call "a.bat"是关键。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 04:32 , Processed in 0.017123 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表