无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 17992|回复: 104
打印 上一主题 下一主题

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

  [复制链接]
1#
发表于 2021-6-11 09:29:14 | 显示全部楼层
建议在for语句列表的时候尽量将共同的内容抽走以达成简化的目的

如:
将for %%j in (D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: Y: Z: C:)
改为for %%j in (D E F G H I J K L M N O P Q R S T U V W Y Z C)
原来引用%%j的地方改为%%j:

for %%k in (systembak.gho systembak.wim systembak.esd)
改为for %%k in (gho wim esd)
原来引用%%k的地方改为systembak.%%k

还要理解代码的本意,才能符合自己的意愿,如
for %%h in (C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: Y: Z:) do (
if not exist %%h\windows\system32\cmd.exe (
这代码的意思本来就是由C至Z逐一查找cmd.exe,一找不到就提示出错,当然与楼主意愿不符,所以才会出22楼那样的问题

点评

学习了  详情 回复 发表于 2021-6-11 10:44
回复

使用道具 举报

2#
发表于 2021-6-11 11:35:59 | 显示全部楼层
bjay2008xmy 发表于 2021-6-11 11:24
有使用条件的,所以我设置了找不到系统分区和系统映像时就按任意键关机,在多系统和多映像的情况下,只会 ...

你在使用for循环,所以建议选择找到的最后一个系统盘和最后一个映像
同于系统盘多数是C盘,所以找系统盘时倒序排列 Z Y X ... D C 这样最后一个就是C

点评

感谢你提供的 if %xtp%a==a 代码,很实用。 我想问一下,倒序查找的用意是什么呢?  详情 回复 发表于 2021-6-12 00:20
回复

使用道具 举报

3#
发表于 2021-6-11 16:01:44 | 显示全部楼层
bjay2008xmy 发表于 2021-6-11 15:41
其实还有其他因素让我认为这个方案可行值得去完善。

在去年的9月份我就做过U盘自动恢复系统这个方案, ...

你说的这种情形,我以前的做法是固定备份到D盘gho文件,开机时可按键选择一键还原。

后来时代发展了,我就改成固定备份到D盘wim文件,开机时可按键选择进入pe,pe桌面放一键还原。

现在如果可以的话,我会改用差分vhd,保留一个原版,复制两个副本,运行其中一个副本,桌面有一键还原,其实这时的一键还原就是将原版重新复制到副本,重启后运行复制成功的副本。

点评

大佬也做过类似的方案吗 以前使用硬盘MBR分区表,确实有许多可用的一键恢复方案,比如MAXDOS以前我就经常用。  详情 回复 发表于 2021-6-11 16:19
回复

使用道具 举报

4#
发表于 2021-6-12 02:24:05 | 显示全部楼层
本帖最后由 hilsonma 于 2021-6-12 02:26 编辑
bjay2008xmy 发表于 2021-6-12 00:20
感谢你提供的
if %xtp%a==a
代码,很实用。

假设有多个操作系统分区 C D E
Z Y X ... D C 这样最后一个就是C
C D E ... X Y Z 这样最后一个就是 E
我们要使for走完的话取的就是最后一个

当然复杂一些的话也可以将所有找到的存起来,再作进一步安排。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-18 10:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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