问题: 想用PECMD.ini挂载WIM来源盘到Y:
2小时前 10

最近想更新自己的Win10PE,就去下载了个PE之后用DISM++改成自己想要的模样。

桌面、文件浏览器改显示大图标、开始列放左边等等都很容易。把设定改好,搜出设定的注册表位置、导出后,注入boot.wim就变成PE开机的预设了。这些我都已经实现了。

但我现在在模仿、改造原作者挂载Wim(来源)盘的方法。挂载了Wim盘,才能把放在Wim外面(但同盘)的驱动、程序载进来。

他就是用这个LetterSwap - Github

LetterSwap.exe /auto /SetLetter Y:\PE.ini /Log %Temp%\LetterSwap.log

/Log以及后面部分就是记录吧,不用看。”PE.ini“ 就是扫描目标。Y:\就是发现目标后配上的盘号。他这样一行码就搞好了,但我不满意,为何?

我个人习惯把boot.wim放ESP盘,因为系统SSD盘快、方便,而且现在系统灾难大多限在Windows以内。想重装,转boot到ESP里的PE Wim就够了。

ESP 一般不挂载,而且就算挂载了,LetterSwap也换不了它的盘号。我不清楚运作原理,我猜测像是它在注册表里[HKLM\MountedDevices]里找不到ESP盘,因为ESP盘不用一般格式写在里面,有些时候根本没写在里面。那我就想能不能用PECMD.ini 写几段码做到呢?但我写代码完全外行,就是很需要、方便自己的时候,写过几行。那就问AI吧🤣。

就发现了 OpenCode在输出的IFEX里放了ELSE 、然后现在,"FORX *"用{}嵌套 或 加"次数"就会失效。😳

ENVI &&Count=0
ENVI &&Outer=1 3
ENVI &&Inner=1 3 5
FORX * %Outer%,outerVar, FORX * %Inner%,innerVar, CALC &&Count=%Count%+1
MESS Count=%Count%\nOuter=%Outer% Inner=%Inner%

 PECMD视窗执行后,显示

Count=6
Outer=1 3 Inner=1 3 5

第一层2次 X 第二层3次 = 6次,对!

那我嵌个套试试?

ENVI &&Count=0
ENVI &&Outer=1 3
ENVI &&Inner=1 3 5
FORX * %Outer%,outerVar, {FORX * %Inner%,innerVar, CALC &&Count=%Count%+1}
MESS Count=%Count%\nOuter=%Outer% Inner=%Inner%

 PECMD视窗执行后,显示

Count=0
Outer=1 3 Inner=1 3 5

只不过加了对{},就不行了。

不过这些都是题外话。主题是挂载WIM盘到Y:。

先扫ESP,扫到头一个就挂载,然后就停了,不再扫。如果扫了所有硬盘的ESP都没找到目标档案,然后才开始扫USB/DVD盘。一样是扫到头一个就挂载,然后就停了。求教!先行谢过!

奖励
收藏
点赞
分享
最新回复 (0)
返回