无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 7529|回复: 32

为什么一段看起来没有问题的批处理代码运行却出错了?(已解决))

[复制链接]
发表于 2021-6-11 08:35:04 | 显示全部楼层
本帖最后由 hilsonma 于 2021-6-11 08:40 编辑

楼主原来代码的意思是:
在各分区查找 \windows\system32\cmd.exe
如果有一个分区找不到该文件就提示/关机/退出查找

如果要所有分区都找不到该文件才提示/关机,那么还是要走完整个for的,不能中途退出,走完for再看查找结果决定下一步的操作,所以代码如下:
  1. @echo off
  2. for %%h in (Z Y X W V U T S R Q P O N M L K J I H G F E D C) do (if exist %%h:\windows\system32\cmd.exe set xtp=%%h)
  3. if %xtp%a==a (
  4.     color 48
  5.     echo 没有找到系统分区
  6.     echo 按任意键关机
  7.     pause>nul
  8.     wpeutil shutdown
  9. )
复制代码

点评

if %xtp%a==a ( color 48 echo 没有找到系统分区 echo 按任意键关机 pause>nul ECHO wpeutil shutdown goto:eof ) 这个语句用的妙,以前从没想过这样用,一加上去就解决了问  详情 回复 发表于 2021-6-11 17:06
你这里有一句我没有看懂。if %xtp%a==a (是什么意思?  详情 回复 发表于 2021-6-11 13:52
回复

使用道具 举报

发表于 2021-6-11 08:59:59 | 显示全部楼层
bjay2008xmy 发表于 2021-6-11 00:39
我只是想增加各分区不存在cmd.exe就关机的功能,怎么改好?
@echo off
color 27

按楼主的意思改了一下代码:

  1. @echo off
  2. for %%j in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (if exist %%j:\systembak.gho set bfp=%%j)
  3. if %bfp%a==a ( set msg="未在各大分区根目录中找到系统映像SYSTEMBAK.GHO,请检查" & call:err & goto:end)
  4. for %%i in (Z Y X W V U T S R Q P O N M L K J I H G F E D C) do (if exist %%i:\windows\system32\cmd.exe set xtp=%%i)
  5. if %xtp%a==a ( set msg="没有找到系统分区" & call:err & goto:end)
  6. call:rst

  7. :end
  8. echo wpeutil shutdown
  9. pause
  10. exit

  11. :err
  12. color 48
  13. echo %msg%
  14. echo 按任意键关机
  15. pause>nul
  16. exit /b

  17. :rst
  18. echo 映像名: %bfp%:\systembak.gho
  19. echo 系统盘为 %xtp%
  20. echo.
  21. echo 接下来把 %bfp%:\systembak.gho 恢复到 %xtp%
  22. echo ghost64.exe -clone,mode=pload,src=%bfp%\systembak.gho:1,dst=%xtp% -sure
  23. echo 恢复系统已完成,准备关机
  24. exit /b
复制代码
回复

使用道具 举报

发表于 2021-6-11 15:00:16 | 显示全部楼层
bjay2008xmy 发表于 2021-6-11 13:52
你这里有一句我没有看懂。if %xtp%a==a (是什么意思?

当 xtp 是空的,%xtp%a==a 就成立,xtp不是空的就不成立
当找到系统分区时,xtp不是空的,都找不到时,xtp才是空的,这样来判断有没有找到系统分区。

点评

判断 %xtp%a是否等于a我看的懂,不过%xtp%a这种写法我是第一见  详情 回复 发表于 2021-6-11 15:18
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-7-20 00:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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