Board logo

标题: [文件操作] 【已解决】怎么检测bat脚本窗口是否打开? [打印本页]

作者: mimixi666    时间: 2017-12-13 17:27     标题: 【已解决】怎么检测bat脚本窗口是否打开?

本帖最后由 mimixi666 于 2017-12-21 10:07 编辑

我想循环做一些事情,但是有可能中间会中断,所以想写两个脚本,一个循环检测用的脚本,一个是做事情的脚本。
但是现在不知道怎么检测我的那个bat脚本窗口是否被关闭了。
作者: ivor    时间: 2017-12-13 19:41

  1. :s
  2. start /wait "" "要启动的cmd"
  3. goto s
复制代码
这样可以防止关闭CMD,如果只允许一次,也可以去掉循环。
作者: mimixi666    时间: 2017-12-14 10:23

这样可以防止关闭CMD,如果只允许一次,也可以去掉循环。
ivor 发表于 2017-12-13 19:41



    中校,你好,有几个问题想请教
    1. 为什么我if的语句有条指令不执行,还是执行不生效?

    2. 为什么dir 后面多出了一个1的?

    3. start /wait "" test.bat" 第一个双引号有什么用的?
    4. 怎么可以让它自动死循环运行,不用人工干预(每次都有"终止批处理操作吗(Y/N)? n"),后面有源码有图


loop.bat源码:
  1. set /a count = 1;
  2. set /a max_count = 3;
  3. :loop
  4. if %count% leq %max_count% (
  5.         ::后面那个双引号有什么用?
  6. start /wait "" test.bat"
  7.         ::下面这条语句不生效
  8. set /a count += 1;
  9. goto loop
  10. ) else (
  11. exit
  12. )
复制代码
test.bat源码:
  1. dir > log.txt
复制代码
[attach]10938[/attach]
作者: ivor    时间: 2017-12-14 21:49

本帖最后由 ivor 于 2017-12-14 21:55 编辑
dir 1>log.txt    你可以查看http://www.bathome.net/viewthrea ... =%D6%D8%B6%A8%CF%F2

start /wait "" "test.bat"  因为"test.bat"  所以前面加""

EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
回复 3# mimixi666


死循环:
  1. :s
  2. command
  3. goto s
复制代码

作者: mimixi666    时间: 2017-12-21 10:06

回复 4# ivor


    好的,谢谢。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2