无忧启动论坛

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

写了好几天的批处理文档,眼睛都看近视了,这会应该没错了吧(已解决)

  [复制链接]
跳转到指定楼层
1#
发表于 2021-6-10 13:20:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
2#
发表于 2021-6-10 14:04:42 | 只看该作者
别的不说,查找系统分区命令我感觉不严谨,毕竟硬盘分区不一定只有二十多个...

点评

你有更好的办法吗?两个字母的盘符我没有见过,要写可以加一个for命令嵌套  详情 回复 发表于 2021-6-10 14:46
回复

使用道具 举报

3#
 楼主| 发表于 2021-6-10 14:46:36 来自手机 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

4#
发表于 2021-6-10 14:48:29 | 只看该作者
建议远离脚本和代码,可以多活好几年, 至少头发不会掉那么快
回复

使用道具 举报

5#
发表于 2021-6-10 15:00:32 | 只看该作者
双系统下或者PE下 这不就瘫了吗

点评

所以在多系统和多映像的情况下,仅选择搜索到的第一个系统盘和第一个映像  详情 回复 发表于 2021-6-10 15:16
回复

使用道具 举报

6#
 楼主| 发表于 2021-6-10 15:09:14 来自手机 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

7#
 楼主| 发表于 2021-6-10 15:16:51 来自手机 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

8#
发表于 2021-6-10 15:39:58 | 只看该作者
我敢断定这段代码在 永远不会关机 而且在硬盘无系统情况下 还会搜索到系统 你猜是因为啥
::查找系统分区,未找到就关机
for %%h 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 (

点评

听听大佬的意见  详情 回复 发表于 2021-6-10 16:27
回复

使用道具 举报

9#
发表于 2021-6-10 15:40:09 | 只看该作者
不少PE可能根本就不能PING;

这一句ping 127.1 -n 3 >nul就这行不了,提示出错;

前面回显的可能根本看不见.....

点评

最初它的方案是“U盘自动化恢复系统",要实现的目标是:只需要插入U盘启动就能自动搜寻系统分区和系统映像来恢复。它是有一整套方案的。  详情 回复 发表于 2021-6-10 16:32
有专用搭配的pe系统  详情 回复 发表于 2021-6-10 16:23
回复

使用道具 举报

10#
 楼主| 发表于 2021-6-10 16:23:28 来自手机 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

11#
 楼主| 发表于 2021-6-10 16:27:04 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

12#
 楼主| 发表于 2021-6-10 16:32:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

13#
发表于 2021-6-10 16:35:42 | 只看该作者

PE占用什么盘符,难道是A或B?应该排除掉啊

点评

PE一般用的是X盘,顿时感觉惊恐了  详情 回复 发表于 2021-6-10 16:43
回复

使用道具 举报

14#
 楼主| 发表于 2021-6-10 16:43:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

15#
发表于 2021-6-10 18:05:25 | 只看该作者
建议楼主分享整套完整方案 使用方法 及注意事项,让大家测试一下。

点评

我原来是写有一个帖子的: http://bbs.wuyou.net/forum.php?mod=viewthread&tid=422179&extra= 里面有完整的方案,从用途上来说还是比较小众化的,因为会用PE装系统的很多,用不着什么自动化。 注意事项就一  详情 回复 发表于 2021-6-10 20:30
回复

使用道具 举报

16#
发表于 2021-6-10 18:33:17 | 只看该作者
bjay2008xmy 发表于 2021-6-10 16:43
PE一般用的是X盘,顿时感觉惊恐了

哈哈哈哈哈哈哈哈哈哈或或或或  你终于反应过来了
回复

使用道具 举报

17#
发表于 2021-6-10 19:37:13 | 只看该作者
bjay2008xmy 发表于 2021-6-10 14:46
你有更好的办法吗?两个字母的盘符我没有见过,要写可以加一个for命令嵌套

>你有更好的办法吗?两个字母的盘符我没有见过,要写可以加一个for命令嵌套



点评

买个媳妇 也能做盘符,厉害  详情 回复 发表于 2021-6-10 20:31
回复

使用道具 举报

18#
发表于 2021-6-10 20:22:01 | 只看该作者
这个的应用场景在哪里?

点评

U盘自动恢复系统  详情 回复 发表于 2021-6-11 16:26
回复

使用道具 举报

19#
 楼主| 发表于 2021-6-10 20:30:24 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

20#
 楼主| 发表于 2021-6-10 20:31:39 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

21#
 楼主| 发表于 2021-6-10 21:07:09 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

22#
发表于 2021-6-10 21:59:11 | 只看该作者
很久没用 ghost 了
其实 ghost 套系中有两个工具
gdisk 用来分区
omnifs 用来查找和操作分区中的文件

分区不一定要有盘符,只要 用 ghost 可识别的 1:2 2:1 之类的表示即可。

所以,我建议用 omnifs 获取分区信息并确定 存在指定文件的 分区,并确定 要回复的分区。
然后的事情就交给 ghost 办理了。

之前 这类操作都是 在 dos 下完成的。
自从有了 wim 打包方式 和 查分vhd 的概念,我很少用 ghost 来回复和安装系统了。

点评

我觉得对我来说,它们都只是一个工具,用哪个不重要,只要能做到我想做的事就可以了。 刚才我在PE中去试验了,发现了一个奇怪的问题,想请教一下: 在查找系统分区,未找到就关机 这个功能模块执行后居然提示  详情 回复 发表于 2021-6-10 22:09
回复

使用道具 举报

23#
 楼主| 发表于 2021-6-10 22:09:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

24#
发表于 2021-6-10 23:01:37 | 只看该作者
bjay2008xmy 发表于 2021-6-10 22:09
我觉得对我来说,它们都只是一个工具,用哪个不重要,只要能做到我想做的事就可以了。

刚才我在PE中去 ...

系统分区未被分配盘符或者 系统没有你要找的文件,为啥不直接用 windows 目录来确认呢?

点评

并非存在“系统分区未被分配盘符或者 系统没有你要找的文件”的问题,我单独运行那个模块就可以。 我当前电脑安装的是WIN7,后来我回到WIN7上运行这个批处理,竟然也出现了同样的问题!难道是一个批处理中不能出现  详情 回复 发表于 2021-6-10 23:23
回复

使用道具 举报

25#
发表于 2021-6-10 23:07:20 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-6-10 23:51 编辑

用这个 直接找出 系统分区和 gho 位置
不管 分区是否隐藏,甚至是 linux 分区上的 gho 估计也能识别出来。

在64位 win7 win10 下测试通过


omnifs64_script-2.7z (1.04 MB, 下载次数: 98)

点评

刚才我下载了你这个软件运行了一下,发现了一个问题。不知道你有没有意识到ghost某个版本之前识别的GPT硬盘的C盘是1:2,某个版本之后显示的是1:3 ?  详情 回复 发表于 2021-6-12 00:07
回复

使用道具 举报

26#
 楼主| 发表于 2021-6-10 23:23:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

27#
发表于 2021-6-10 23:48:26 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-6-10 23:49 编辑
bjay2008xmy 发表于 2021-6-10 23:23
并非存在“系统分区未被分配盘符或者 系统没有你要找的文件”的问题。
我当前电脑安装的是WIN7,后来我 ...

判断逻辑有问题
你是 逐个盘符判断如果 他没有 cmd.exe 就提示 没有系统分区,然后就关机,这样不行,
应该是 发现 cmd.exe 就设置个变量,循环结束后,通过这个变量的值判断是否找到了 windows 所在分区。
可以把这个变量的值设置为 存在cmd.exe 分区的盘符。

我上面 的附件 里面 有脚本,可以实现 找到 系统分区和 gho 位置。
你可以参考下。

点评

我就是要它实现没有找到这个文件就关机的功能,这是一部分。整个批处理文档中,如果没有查找到系统分区或者系统映像就关机。 我做的整个方案叫做:U盘自动化恢复系统 代码如下: @echo off color 27 ECHO 正  详情 回复 发表于 2021-6-10 23:59
回复

使用道具 举报

28#
 楼主| 发表于 2021-6-10 23:59:33 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

29#
发表于 2021-6-11 07:09:39 来自手机 | 只看该作者
你得循环完了,才能确定所有盘符都没有WINDOWS,
回复

使用道具 举报

30#
发表于 2021-6-11 08:16:11 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-6-11 09:12 编辑



我下面代码!!!!!是可以。。。。
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. set find1=0
  4. for %%c in (C D E F G H I J K L M N O P Q R S T U V W ) DO (
  5.         IF EXIST %%c:\windows\explorer.exe call :found1 %%c
  6. )

  7. if !find1! equ 0 echo 未找到 windows 分区
  8. pause

  9. goto :eof

  10. :found1
  11. set find1=1
  12. echo 找到 windows 分区 %1:
  13. exit /b
复制代码



下面是按照你的思路,写的。


  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. set gho_file=systembak.gho
  4. set find1=0
  5. set find2=0
  6. for %%c in (C D E F G H I J K L M N O P Q R S T U V W ) DO (
  7.    IF EXIST %%c:\windows\explorer.exe call :found1 %%c
  8.    if exist %%c:\!gho_file! call :found2 %%c
  9. )

  10. if !find1! equ 0 (
  11.    echo 未找到 windows 分区
  12.    call :error1
  13. )
  14. if !find2! equ 0 (
  15.    echo 未找到 GHO 文件
  16.    call :error1
  17. )

  18. ECHO.
  19. ECHO 接下来把!find2!:\systembak.gho恢复到!find1!:
  20. ghost64.exe -clone,mode=pload,src=!find2!:\systembak.gho:1,dst=!find1!: -sure
  21. ECHO 恢复系统已完成,准备关机
  22. wpeutil shutdown

  23. GOTO :EOF

  24. :found1
  25.    set find1=%1
  26.    echo 找到 windows 分区 %1:
  27. exit /b

  28. :found2
  29.    set find2=%1
  30.    echo 找到 GHO 文件 %1:\!gho_file!
  31. exit /b

  32. :error1
  33.    color 48
  34.    echo 按任意键关机
  35.    pause>nul
  36.    wpeutil shutdown
  37. exit /b
复制代码



但是问题是 ,你这个思路,如果 目标电脑 根本没有 windows ,甚至连分区都没有,是个新硬盘呢?
还是 考虑 再通过交互模式手动 选择分区?
如果硬盘上 有多个 windows 或者多个 systembak.gho 又改咋整?是否也要 考虑 交互式 选择?



点评

这个用途可能比较小众化,是用来辅助对电脑不熟悉的人群恢复系统的,其目标在于:系统出问题时,只要插入U盘,让电脑从U盘启动就自动恢复系统。避免让使用者去接触过多专业的复杂的配置。  详情 回复 发表于 2021-6-11 11:33
有使用条件的,所以我设置了找不到系统分区和系统映像时就按任意键关机,在多系统和多映像的情况下,只会选择找到的第一个系统盘和第一个映像。  详情 回复 发表于 2021-6-11 11:24
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-4 04:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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