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

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

[复制链接]
发表于 2017-12-13 17:27:39 | 显示全部楼层 |阅读模式
本帖最后由 mimixi666 于 2017-12-21 10:07 编辑

我想循环做一些事情,但是有可能中间会中断,所以想写两个脚本,一个循环检测用的脚本,一个是做事情的脚本。
但是现在不知道怎么检测我的那个bat脚本窗口是否被关闭了。
发表于 2017-12-13 19:41:41 | 显示全部楼层
  1. :s
  2. start /wait "" "要启动的cmd"
  3. goto s
复制代码
这样可以防止关闭CMD,如果只允许一次,也可以去掉循环。
 楼主| 发表于 2017-12-14 10:23:37 | 显示全部楼层
这样可以防止关闭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
复制代码
发表于 2017-12-14 21:49:53 | 显示全部楼层
本帖最后由 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
复制代码
 楼主| 发表于 2017-12-21 10:06:39 | 显示全部楼层
回复 4# ivor


    好的,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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