Board logo

标题: [文件操作] BAT如何判断及处理是否有正在运行的word 文档? [打印本页]

作者: tangqingfu    时间: 2013-5-21 16:36     标题: BAT如何判断及处理是否有正在运行的word 文档?

请教如何分别编写bat代码,使之符合下面的条件(两种情况,请分开编写,谢谢!)
1、请教如何通过bat判断是否有正在运行的word 文档(任意word文档),如果有,则提示用户保存,并退出本bat;如果没有则继续运行后面的程序?
2、请教如何通过bat判断是否有正在运行的word 文档(任意word文档),如果有,则强制保存并关闭所有的Word文档,并运行后面的程序?
作者: Python    时间: 2013-5-21 17:07

情况1
  1. @echo off
  2. tasklist | findstr /i "WINWORD.EXE"
  3. if not errorlevel 1 (
  4.     echo 请保存Word文档
  5.     pause
  6.     goto :eof
  7. )
  8. echo 继续运行后面的程序
  9. pause
复制代码

作者: tangqingfu    时间: 2013-5-21 22:07

回复 2# Python
谢谢兄台的指点!能否注释一下代码,不是很明白!
作者: BAT-VBS    时间: 2013-5-21 22:30

回复 3# tangqingfu


    第几行不明白?我可以帮忙讲解
作者: tangqingfu    时间: 2013-5-22 05:38

回复 4# BAT-VBS

呵呵,第2行到第7行不太理解,能否解释一下?
作者: Python    时间: 2013-5-22 09:03

回复 5# tangqingfu


先说第二行吧,你先看看系统自带的帮助文档,不懂再问。
tasklist /?
findstr /?
作者: tangqingfu    时间: 2013-5-22 15:57

本帖最后由 tangqingfu 于 2013-5-22 16:50 编辑

网上找了一个
  1. @echo off
  2. tasklist|find /i "winword.exe">nul&&goto a||goto b
  3. :a
  4. echo 发现Word程序正在运行,请先保存好Word文档再运行本程序!即将退出程序……
  5. ping -n 10 127.0 >nul
  6. exit
  7. :b
  8. echo  没有发现Word程序,安装正在进行……
  9. pause
复制代码
对于第2行的代码不太理解,不知哪位帮解释一下?
作者: Python    时间: 2013-5-22 18:12

回复 7# tangqingfu


    如果当前进程列表里面能找到word进程,就跳转到标签a继续执行,否则就转到标签b继续执行。
作者: tangqingfu    时间: 2013-5-22 21:32

回复 8# Python

谢谢python兄的解答!
作者: gobi918    时间: 2013-5-23 11:19

回复 9# tangqingfu


    其实关键是&& 和 ||的应用,&&表示前面的命令执行成功则执行&&后的命令,而||正好相反,前面的命令失败,则执行||后面的命令,

&& || 非常好用!
作者: tangqingfu    时间: 2013-5-23 12:17

回复 10# gobi918

谢谢gobi918兄的指点!




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