无忧启动论坛

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

[求助] 这个dism批处理该怎么写?

[复制链接]
跳转到指定楼层
1#
发表于 7 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xzst110 于 2024-11-18 19:45 编辑

rem 将install.wim文件路径赋值给变量,这里假设install.wim就在A文件夹下
set "installWimPath=A\install.wim"
rem 挂载点路径,假设在B文件夹下
set "mountPath=B"
rem 一些Appx文件所在文件夹路径,假设在C文件夹下
set "filesFolderPath=C"
rem 首先挂载install.wim文件到指定挂载点
dism /Mount-Image /ImageFile:"%installWimPath%" /Index:1 /MountDir:"%mountPath%"
rem 循环添加Appx包
for %%a in ("%filesFolderPath%\*.Appx") do (
    dism /Image:"%mountPath%" /Add-ProvisionedAppxPackage /PackagePath:"%%a" /SkipLicense
)
提示执行错误,不知道该怎么写?错在哪些地方,大神们能不能指点一下,万分感谢!
2#
发表于 7 天前 | 只看该作者
用显示命令 echo 显示变量,看看变量对不对
回复

使用道具 举报

3#
发表于 7 天前 | 只看该作者
/MountDir去掉引号试试
回复

使用道具 举报

4#
 楼主| 发表于 7 天前 来自手机 | 只看该作者
挂载映像成功,集成APPx错误,不知错在哪?
回复

使用道具 举报

5#
发表于 7 天前 | 只看该作者
你的脚本看起来基本上是正确的,但是有一些细节可能会导致执行错误或需要优化。以下是一些可能的问题和改进建议:

1、路径问题:

确保路径中没有包含空格。如果路径中有空格,你需要用引号括起来。
确认所有路径都是绝对路径或者从脚本所在的目录开始的相对路径。例如,如果脚本运行在D盘的某个目录下,A、B、C文件夹的路径需要相对于脚本的当前工作目录或使用绝对路径。

2、文件权限和路径存在:

确保你有足够的权限来读取和写入这些路径。
确认A\install.wim、B和C这些文件夹确实存在,并且B文件夹为空(或可以被覆盖),因为dism会在挂载时清空挂载点目录。

3、DISM命令的使用:

使用dism时,确保你有管理员权限,因为某些操作需要提升的权限。
/Index:1 表示你要挂载的WIM文件的索引。如果install.wim里有多个映像,你需要确保索引号是正确的。

4、错误处理:

你的脚本没有错误处理。如果某个命令失败了,脚本会继续运行,这可能导致后续的操作基于一个失败的状态。添加错误检查可以提高脚本的可靠性:

  1. dism /Mount-Image /ImageFile:"%installWimPath%" /Index:1 /MountDir:"%mountPath%" || goto :error

  2. for %%a in ("%filesFolderPath%*.Appx") do (
  3.     dism /Image:"%mountPath%" /Add-ProvisionedAppxPackage /PackagePath:"%%a" /SkipLicense || goto :error
  4. )
  5. goto :eof

  6. :error
  7. echo An error occurred.
  8. exit /b 1
复制代码

5、批处理文件路径遍历:

你的for循环是正确的,但是要确保%filesFolderPath%路径末尾没有多余的反斜杠,否则*.Appx可能会被解释为文件名而不是通配符。

6、脚本优化:

你可以考虑在脚本开始时检查是否有足够的磁盘空间来挂载WIM文件。
在操作完成后,添加一个卸载WIM的步骤,以防止挂载点被占用:

  1. dism /Unmount-Image /MountDir:"%mountPath%" /Commit
复制代码

7、调试信息:

在脚本中添加更多的echo语句来打印出你正在执行的命令和当前状态,这有助于调试。

确保你已经以管理员身份运行这个脚本,并且所有路径和权限都是正确的。修改后,你可以再次尝试运行脚本。

点评

回复好详细,感谢大佬分享,学习了  详情 回复 发表于 7 天前
好详细的回答,领教了,错误处理学习了,多谢  详情 回复 发表于 7 天前
助人为乐  详情 回复 发表于 7 天前

评分

参与人数 1无忧币 +3 收起 理由
yyz2191958 + 3

查看全部评分

回复

使用道具 举报

6#
发表于 7 天前 | 只看该作者
学习了
回复

使用道具 举报

7#
 楼主| 发表于 7 天前 来自手机 | 只看该作者
检查来检查去,也知道错在哪?
回复

使用道具 举报

8#
发表于 7 天前 | 只看该作者
for /f %%a IN ('"dir /b %filesFolderPath%\*.Appx" 2^>nul')  do (
回复

使用道具 举报

9#
发表于 7 天前 | 只看该作者
学习了 感谢5楼分享
回复

使用道具 举报

10#
发表于 7 天前 | 只看该作者
wangyibin 发表于 2024-11-18 20:23
你的脚本看起来基本上是正确的,但是有一些细节可能会导致执行错误或需要优化。以下是一些可能的问题和改进 ...

助人为乐
回复

使用道具 举报

11#
 楼主| 发表于 7 天前 | 只看该作者
for /f %%a IN ('"dir /b %filesFolderPath%\*.Appx" 2^>nul')  do (
,感谢感谢您!命令最后那个a要不要改成~na?

点评

不需要。  详情 回复 发表于 7 天前
回复

使用道具 举报

12#
发表于 7 天前 | 只看该作者
xzst110 发表于 2024-11-18 20:43
,感谢感谢您!命令最后那个a要不要改成~na?

不需要。
回复

使用道具 举报

13#
发表于 7 天前 | 只看该作者
1.    封装教程
                           1.1    Windows 11 24H2:实战封装教程,脱机封装多语言
                                    腾讯视频 | https://v.qq.com/x/page/i35683hz3yj.html
                                    爱奇艺 | http://www.iqiyi.com/v_1rfq8du8qho.html
                                    搜孤视频 | http://my.tv.sohu.com/us/201441345/586031095.shtml
                                    优酷 | https://v.youku.com/v_show/id_XNjQzMzQxMTcxMg==.html
回复

使用道具 举报

14#
发表于 7 天前 | 只看该作者
wangyibin 发表于 2024-11-18 20:23
你的脚本看起来基本上是正确的,但是有一些细节可能会导致执行错误或需要优化。以下是一些可能的问题和改进 ...

好详细的回答,领教了,错误处理学习了,多谢
回复

使用道具 举报

15#
发表于 7 天前 | 只看该作者
wangyibin 发表于 2024-11-18 20:23
你的脚本看起来基本上是正确的,但是有一些细节可能会导致执行错误或需要优化。以下是一些可能的问题和改进 ...

回复好详细,感谢大佬分享,学习了
回复

使用道具 举报

16#
发表于 7 天前 | 只看该作者
发出错信息
回复

使用道具 举报

17#
发表于 6 天前 | 只看该作者
真学到不少好东西
回复

使用道具 举报

18#
发表于 6 天前 | 只看该作者
这个对封装系统好呀
回复

使用道具 举报

19#
发表于 6 天前 | 只看该作者
谢谢5楼分享
回复

使用道具 举报

20#
 楼主| 发表于 6 天前 | 只看该作者
本帖最后由 xzst110 于 2024-11-19 15:20 编辑
非常感谢各位大佬热心指导!!!
回复

使用道具 举报

21#
发表于 6 天前 来自手机 | 只看该作者
先在cmd里玩通后再玩批处理
回复

使用道具 举报

22#
 楼主| 发表于 5 天前 来自手机 | 只看该作者
玩不来,不玩了。不过还是要感谢坛里的这些热心人。
回复

使用道具 举报

23#
发表于 4 天前 | 只看该作者
学习
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 05:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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