标题: [文件操作] 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- @echo off
- tasklist | findstr /i "WINWORD.EXE"
- if not errorlevel 1 (
- echo 请保存Word文档
- pause
- goto :eof
- )
- echo 继续运行后面的程序
- 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 编辑
网上找了一个- @echo off
- tasklist|find /i "winword.exe">nul&&goto a||goto b
- :a
- echo 发现Word程序正在运行,请先保存好Word文档再运行本程序!即将退出程序……
- ping -n 10 127.0 >nul
- exit
- :b
- echo 没有发现Word程序,安装正在进行……
- 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 |