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

[系统相关] 【已解决】bat执行一半自动弹出是否终止批处理

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set timeDIR=%date:~0,4%%date:~5,2%%date:~8,2%
  4. if exist d:\MobileServer (
  5. set appPath=d:\MobileServer\
  6. set backUp=d:\backUp\
  7. set serviceList=d:\test\
  8. set errorLog=d:\
  9. ) else (
  10. set appPath=e:\MobileServer\
  11. set backUp=e:\backUp\
  12. set serviceList=e:\test\
  13. set errorLog=e:\
  14. )
  15. md %backUp%%timeDIR%
  16. FOR /F %%i in (%serviceList%autoUpdate.txt) do (
  17. for /f "delims=" %%m in ('dir /ad/b "%~dp0"') do (
  18. for /f "tokens=1,2,3 delims=," %%a in ("%%i") do (
  19. set str1=%%a
  20. set str2=%%b
  21. set str3=%%c
  22. if %%m==%%a (
  23. rar a %backUp%%timeDIR%\%%a.rar %appPath%%%m
  24. taskkill /f /t /im %%b
  25. xcopy /y %~dp0%%a %appPath%%%a
  26. sc start %%c
  27. echo %errorlevel%
  28. if errorlevel 1 (
  29. goto loop
  30. )
  31. :loop
  32. sc start %%c
  33. if errorlevel 1 (
  34. echo %%a此文件夹对应的服务启动失败 >>%errorLog%%timeDIR%.txt
  35. )
  36. )
  37. )
  38. )
  39. )
  40. pause
复制代码
在启动服务的时候就会卡住弹出如图      我确定我什么都没按
windows server 2008 r2      的系统          谁知道是为什么啊

好神奇,为毛会自动 ctrl+c 呢

TOP

ok了    问题已解决   十分感谢

TOP

回复 9# DAIC


    我查了一下     现在启动服务失败     也经常给我返回0    不知道是为什么

TOP

@echo off
setlocal enabledelayedexpansion
set timeDIR=%date:~0,4%%date:~5,2%%date:~8,2%
if exist d:\MobileServer (
    set appPath=d:\MobileServer\
    set backUp=d:\backUp\
    set serviceList=d:\test\
    set errorLog=d:\
) else (
    set appPath=e:\MobileServer\
    set backUp=e:\backUp\
    set serviceList=e:\test\
    set errorLog=e:\
)
md %backUp%%timeDIR%
FOR /F %%i in (%serviceList%autoUpdate.txt) do (
    for /f "delims=" %%m in ('dir /ad/b "%~dp0"') do (
        for /f "tokens=1,2,3 delims=," %%a in ("%%i") do (
            set str1=%%a
            set str2=%%b
            set str3=%%c
            if %%m==%%a (
                rar a %backUp%%timeDIR%\%%a.rar %appPath%%%m
                taskkill /f /t /im %%b
                xcopy /y %~dp0%%a %appPath%%%a
                REM 1、启动服务之前先用echo命令看看当前获取到的服务是什么,再去检查一下这个服务是否真的存在
                echo 尝试启动服务:%%c
                REM 2、不要在for循环内部定义标签。如果想首次启动失败再次尝试重启的话,这样就行了:
                sc start %%c || sc start %%c
                echo %errorlevel%
                if errorlevel 1 (
                    echo %%a此文件夹对应的服务启动失败 >>%errorLog%%timeDIR%.txt
                )

            )
        )
    )
)
pause
1

评分人数

TOP

大神们呢

TOP

有时候也会出现

TOP

回复 3# DAIC


    以上代码和报错截图

TOP

回复 4# pcl_test


    以上代码和报错截图

TOP

本帖最后由 pcl_test 于 2015-3-31 13:47 编辑

起码把代码发下吧,什么都没有,怎么帮你检查呢?最好再贴上出错截图

TOP

完整代码、报错截图,发出来看看。

TOP

求大神指导啊

TOP

返回列表