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

[文件操作] BAT如何判断及处理是否有正在运行的word 文档?

[复制链接]
发表于 2013-5-21 16:36:09 | 显示全部楼层 |阅读模式
请教如何分别编写bat代码,使之符合下面的条件(两种情况,请分开编写,谢谢!)
1、请教如何通过bat判断是否有正在运行的word 文档(任意word文档),如果有,则提示用户保存,并退出本bat;如果没有则继续运行后面的程序?
2、请教如何通过bat判断是否有正在运行的word 文档(任意word文档),如果有,则强制保存并关闭所有的Word文档,并运行后面的程序?
发表于 2013-5-21 17:07:04 | 显示全部楼层
情况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
复制代码
 楼主| 发表于 2013-5-21 22:07:39 | 显示全部楼层
回复 2# Python
谢谢兄台的指点!能否注释一下代码,不是很明白!
发表于 2013-5-21 22:30:55 | 显示全部楼层
回复 3# tangqingfu


    第几行不明白?我可以帮忙讲解
 楼主| 发表于 2013-5-22 05:38:02 | 显示全部楼层
回复 4# BAT-VBS

呵呵,第2行到第7行不太理解,能否解释一下?
发表于 2013-5-22 09:03:02 | 显示全部楼层
回复 5# tangqingfu


先说第二行吧,你先看看系统自带的帮助文档,不懂再问。
tasklist /?
findstr /?
 楼主| 发表于 2013-5-22 15:57:28 | 显示全部楼层
本帖最后由 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行的代码不太理解,不知哪位帮解释一下?
发表于 2013-5-22 18:12:11 | 显示全部楼层
回复 7# tangqingfu


    如果当前进程列表里面能找到word进程,就跳转到标签a继续执行,否则就转到标签b继续执行。
 楼主| 发表于 2013-5-22 21:32:30 | 显示全部楼层
回复 8# Python

谢谢python兄的解答!
发表于 2013-5-23 11:19:13 | 显示全部楼层
回复 9# tangqingfu


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

&& || 非常好用!
 楼主| 发表于 2013-5-23 12:17:58 | 显示全部楼层
回复 10# gobi918

谢谢gobi918兄的指点!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 07:48 , Processed in 0.016823 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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