[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[已解决]30元求脚本,自动运行和批处理

本帖最后由 pinghoo 于 2015-8-30 16:57 编辑

1、对比A文件夹A.exe文件与B文件夹A.EXE的文件大小(CRC校验也可以)是否吻合,如果不同则覆盖将B文件夹覆盖至A文件的A.EXE;
2、ping DNS服务器,ping得通直接跳第4步;
3、如果ping不通则进行宽带连接(尽量不用第三方插件),拨号失败三次暂停批处理(保留MSDOS窗口),后至第4步;
4、检测A.EXE是否运行,如果运行则等待15分钟;如果没有运行,则KILL C.EXE进程后,执行A.exe;
循环执行2-4步骤;
A.exe若有保护,不能KILL但是在任务管理器里有可以结束进程,这种有没有其他解决方案,最好能一起解决。

联系QQ:27505037
支付方式:微信、支付宝、Q币都行

本帖最后由 pcl_test 于 2015-8-30 10:19 编辑
  1. @echo off
  2. set "dns=DNS服务器ip"
  3. set "adsl=宽带连接名"
  4. set "user=用户名"
  5. set "psw=密码"
  6. for /f %%a in ("A\A.exe") do set "Asize=%%~za"
  7. for /f %%b in ("B\A.exe") do set "Bsize=%%~zb"
  8. if "%Asize%" neq "%Bsize%" copy "B\A.exe" "A\A.exe" /y
  9. :loop
  10. set n=0
  11. ping -n 2 %dns% >nul&&goto :check
  12. :re
  13. rasdial "%adsl%" %user% %psw%&&goto :check||set /a n+=1
  14. if %n% leq 3 goto :re
  15. :check
  16. (tasklist|findstr /i "A.exe">nul)||(taskkill /f /im "C.exe"&start "" "A\A.exe")
  17. echo;计时15min,请稍后……
  18. ping -n 901 0 >nul&goto :loop
复制代码

TOP

回复 2# pcl_test


    好的,有些需要麻烦你修改下,一些如账号、密码、DNS这些的独立出来

TOP

回复 2# pcl_test


    XCOPY 比COPY哪个更好用,我需要覆盖的,A\B文件夹都存在A.exe文件,

TOP

怎么支付给你,短给我。

TOP

回复 4# pinghoo
回复 3# pinghoo
已修改,只是复制文件,copy即可,参数/y表示静默覆盖

TOP

创建时间        付款时间        结束时间
2015.08.30 11:11:33         2015.08.30 11:11:39         2015.08.30 11:11:39
已经转给你了,请查收!

TOP

回复 6# pcl_test


    批处理还是有些问题,宽带连接错误3次后,不会暂停批处理,而是直接运行A。exe了!

TOP

本帖最后由 pcl_test 于 2015-8-30 18:44 编辑

回复 8# pinghoo

if %n% lss 3 (goto :re) else pause

TOP

if "%Asize%" neq "%Bsize%" copy "B:\A.exe" "A:\A.exe" /y
如果目标文件在使用,无法覆盖能否重启电脑?这个能改么?其他都OK了,很完美

TOP

回复 6# pcl_test


   
if "%Asize%" neq "%Bsize%" copy "B:\A.exe" "A:\A.exe" /y
如果目标文件在使用,无法覆盖能否重启电脑?这个能改么?其他都OK了,很完美

TOP

回复 11# pinghoo


    先结束A,再替换即可

TOP

回复 12# pcl_test


    程序有保护,kill不掉,必须重启才可以,追加10元,
if "%Asize%" neq "%Bsize%" copy "B\A.exe" "A\A.exe" /y我修改为终止后替换,但是有的时候需要重启,能否再提供一个解决方案
if "%Asize%" neq "%Bsize%" taskkill /f /im "C.exe"&copy "B\A.exe" "A\A.exe" /y

TOP

if "%Asize%" neq "%Bsize%" (tasklist|findstr /i "A.exe">nul&&shutdown -r -t 0||copy "B\A.exe" "A\A.exe" /y)

TOP

回复 14# pcl_test


    知道了,对了,能不能先终止,可以终止的话先终止进程后替换文件,终止不成功则重启电脑,重启后无该进程直接替换!

TOP

返回列表