找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32732|回复: 5

[其他] bat单独运行和用winrar封装后运行结果不同

[复制链接]
发表于 2017-9-28 15:57:30 | 显示全部楼层 |阅读模式
大家好,我这边有几个补丁和exe文件,搞了个bat文件,将所有文件执行命令写入其中,单独运行bat文件会把所有补丁和exe都安装好,我现在用winrar进行了封装,调用的是bat,而后为了实现全隐藏,我这边写了一个简单的VBS执行文件,里面就是简单的去调用bat文件。这样双击vbs后实现不出现任何画面,程序全部装好。但通过vbs去调用bat这种方法,只会执行第一条命令 后面的命令不执行,但单独运行bat完全没问题,想问问大神们是什么原因
发表于 2017-9-28 21:36:26 | 显示全部楼层
vbs和bat完整代码发出来看看
发表于 2017-9-28 22:13:04 | 显示全部楼层
给你个谜语猜,你倒是猜吧,还问上了?
 楼主| 发表于 2017-9-29 09:21:26 | 显示全部楼层
回复 2# Batcher


bat代码
@echo on
for /r "%~dp0" %%c in (Windows6.1-*.msu) do start /wait wusa "%%c" /quiet /norestart
dism /Online /Add-Package /PackagePath:"%~dp0IE-Win7.CAB" /quiet /norestart
dism /Online /Add-Package /PackagePath:"%~dp0ielangpack-zh-CN.CAB" /quiet /norestart
start /wait wusa "%~dp0IE-Spelling-en.MSU" /quiet /norestart
start /wait wusa "%~dp0IE-Hyphenation-en.MSU" /quiet /norestart


vbs代码
set ws=createobject("wscript.shell")
ws.run "IE11X86.bat",0

现在发现bat代码会运行for后面的一条语句  从dism开始就不运行了   现在发现报错了  因为我是64位系统   运行到dism这行就报“无法使用32位版本的dism为正在运行的64位操作系统服务”
这个dism不应该都是系统自带的么  还是说路径有问题
发表于 2017-10-2 11:58:04 | 显示全部楼层
有可能 WinRAR 为 32 位版本而非 64 位版本,这样制作的自解压文件会调用 SysWOW64 中的 DISM
可以试试在代码适当位置加上 cd /d %windir%\system32
发表于 2017-10-3 14:29:20 | 显示全部楼层
目测路径问题...这种调用的最好不要用%~dp0.....
用echo  pause调试下看看路径对不? 最好先pushd %~dp0吧.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 22:37 , Processed in 0.017933 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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