g.0 2021-02-25 21:07 采纳率: 0%
浏览 178

批处理如何执行完前一项再执行后一项

本人是一个小白。我想用第一项结束程序然后第二项清空程序的缓存。但是老是因为程序没结束无法 删除缓存文件,导致要运行两遍(第一遍成功结束程序但是文件因程序未关闭而无法删除,第二遍空过结束程序然后顺利删除文件)代码如下

@echo off

taskkill /f /im NeatReader.exe 2>nul
rd /q /s D:\NeatReader_down  2>nul
md D:\NeatReader_down
del /q /s C:\Users\60909\AppData\Roaming\NeatReader\IndexedDB\file__0.indexeddb.leveldb\000003.log  2>nul
del /q /s C:\Users\60909\AppData\Roaming\NeatReader\IndexedDB\file__0.indexeddb.leveldb\CURRENT  2>nul
mshta vbscript:msgbox(" 已清空NeatReader书架 ",64,"clear work")(window.close)

EXIT

这是我自己摸索写的代码,C盘缓存文件老是没法删除。目前解决方式是在结束程序和删除文件之间补一句ping,但是感觉方法有点笨,运行起来也慢。现在的代码如下:

@echo off

taskkill /f /im NeatReader.exe 2>nul
@ping -n 1 127.1 >nul
rd /q /s D:\NeatReader_down  2>nul
md D:\NeatReader_down
del /q /s C:\Users\60909\AppData\Roaming\NeatReader\IndexedDB\file__0.indexeddb.leveldb\000003.log  2>nul
del /q /s C:\Users\60909\AppData\Roaming\NeatReader\IndexedDB\file__0.indexeddb.leveldb\CURRENT  2>nul
mshta vbscript:msgbox(" 已清空NeatReader书架 ",64,"clear work")(window.close)

EXIT

希望能得到大佬指点。(不知道属于哪个方面就随便标了两个标签)

  • 写回答

1条回答 默认 最新

  • 创意程序员 2023-04-10 09:38
    关注

    taskkill 结束进程需要时间。使用ping命令达到了等待进程结束的目的,但ping会占用cpu,建议使用timeout命令来暂停。如使用这个命令暂停1秒:

    timeout /t 1 >null
    
    评论 编辑记录

报告相同问题?

悬赏问题

  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元