Board logo

标题: [其他] 【已结】批处理更新几个游戏,但不知怎的自解压错误? [打印本页]

作者: windowsxpk    时间: 2009-3-2 18:33     标题: 【已结】批处理更新几个游戏,但不知怎的自解压错误?

其它游戏更新很好的,就“水浒Q传”升级自解压包有问题。
运行批处理升级自解压包窗口打开后,选游戏目录,按“确定”就出现“打开压缩包失败,请确认只运行了一次”,好象批处理调用程序,等于运行了多次一样。
但是,不用批处理。只是双击运行升级自解压包,来解压就没问题。
请问批处理里有什么代码或命令解决这个问提?
作者: Batcher    时间: 2009-3-2 19:10

能把你的批处理代码贴出来看看么?
作者: windowsxpk    时间: 2009-3-2 20:20

这个游戏升级自解压一用批处理打开就是不行!不用还好,解压很顺利。
@echo off
if exist c:20090206.inf goto NO
@color ec
@echo 即将进行自动游戏更新
@echo 水汻Q传,这可能花1~2钟时间!!!
@echo 如果认为游戏更新浪费了您宝贵时间,不需更新请“关掉”本窗口!
@echo 愿意在更新后再玩这些游戏的请按“任意键”继续。。。。
@echo 更新完成后本窗口会自动关闭。
pause
@start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe
@start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.54_V1.2.55.exe
@start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.54_V1.2.55.exe
@start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.55_V1.2.56.exe
@start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.56_V1.2.57.exe
exit

:no
exit

作者: Batcher    时间: 2009-3-2 20:52

@echo off
if exist c:\20090206.inf (
  if not exist c:\20090206.inf\ (
    goto :no
  )
)
color ec
echo 即将进行自动游戏更新
echo 水汻Q传,这可能花1~2钟时间!!!
echo 如果认为游戏更新浪费了您宝贵时间,不需更新请“关掉”本窗口!
echo 愿意在更新后再玩这些游戏的请按“任意键”继续。。。。
echo 更新完成后本窗口会自动关闭。
pause
start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe
start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.54_V1.2.55.exe
start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.54_V1.2.55.exe
start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.55_V1.2.56.exe
start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.56_V1.2.57.exe
exit

:no
exit

把蓝色部分改成绝对路径试试。
作者: windowsxpk    时间: 2009-3-2 21:09

真的行了!多谢了兄弟!
搞清楚原因了,不过,我之所以写成相对路径,是迎合不同的电脑,U盘盘符不一样呀!
现在不知怎办了!批处理就是为了方便呀!
有没不用绝对路径,而有什么参数可以解决方法!
作者: 随风    时间: 2009-3-2 21:13

应该是你的相对路径错了。不应该不行的。
作者: Batcher    时间: 2009-3-2 21:20     标题: 回复 5楼 的帖子

本论坛有几个自动获取U盘盘符的例子,感兴趣的话,可以参考一下。
作者: windowsxpk    时间: 2009-3-2 21:26

原帖由 随风 于 2009-3-2 21:13 发表
应该是你的相对路径错了。不应该不行的。


不是的,相对路径没错。我不只是这个游戏要更新,其它游戏都行呀!
而且升级自解压补丁的窗口能打开呀!如果错了,应窗口都不能打开的。
作者: windowsxpk    时间: 2009-3-2 21:33

原帖由 Batcher 于 2009-3-2 21:20 发表
本论坛有几个自动获取U盘盘符的例子,感兴趣的话,可以参考一下。


是不是通过批处理获取,如果不是没用呀!批处理写了绝对路径,就固定了。
如何获取U盘盘符和批处理的绝对路径一样的路径呢?我去查查先看
作者: windowsxpk    时间: 2009-3-2 22:03

原帖由 Batcher 于 2009-3-2 21:20 发表
本论坛有几个自动获取U盘盘符的例子,感兴趣的话,可以参考一下。


看了没用!就算自动获取U盘盘符又怎样,批处理写了相对路径,又是一样不能解压,
写了绝对路径呢!如果绝对路径是K:,而自动获取U盘盘符是J:呢!不如就打开我的电脑看,还快呢!

原帖由 pusofalse 于 2008-10-5 15:39 发表
@echo off
for /f "skip=1 delims=" %%a in ('wmic logicaldisk where "drivetype='2'" get deviceid') do echo U盘盘符:%%a
pause


如果可以,怎么写才能获得绝对路径才能解压的效果。
怎么加这代码
作者: zqz0012005    时间: 2009-3-2 22:25

如果你的bat放在U盘里
  1. start "" /w "%cd%\Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe"
  2. or
  3. start "" /w "%~dp0Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe"
复制代码

作者: zqz0012005    时间: 2009-3-2 22:28

我测试用相对路径完全没问题。所以可能还是你的路径有问题。
作者: Batcher    时间: 2009-3-2 22:33     标题: 回复 10楼 的帖子

看了没用!就算自动获取U盘盘符又怎样

能怎么样,我也不知道。不过我看到5楼说“我之所以写成相对路径,是迎合不同的电脑,U盘盘符不一样呀”,所以我猜想升级包是放在U盘上的。

写了绝对路径呢!如果绝对路径是K:,而自动获取U盘盘符是J:呢!
  1. @echo off
  2. for /f "skip=1 delims=" %%a in ('wmic logicaldisk where "drivetype='2'" get deviceid') do (
  3.   set DriveU=%%a
  4. )
  5. start /w %DriveU%\Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe
复制代码
不如就打开我的电脑看,还快呢!


你喜欢哪种方法就用哪种方法,是你的自由,别人无法强迫你,悉听尊便。
作者: windowsxpk    时间: 2009-3-2 22:46

原帖由 zqz0012005 于 2009-3-2 22:28 发表
我测试用相对路径完全没问题。所以可能还是你的路径有问题。


这个我原来的,不能解压
@start/W \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe

这是我根据Batcher兄改的,能解压了!我的U盘盘符是J:
@start/W J:\Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe

这路径有问题没有?就算是我原先的也能打开自解压包的窗口呀!
作者: windowsxpk    时间: 2009-3-2 23:16

原帖由 Batcher 于 2009-3-2 22:33 发表

能怎么样,我也不知道。不过我看到5楼说“我之所以写成相对路径,是迎合不同的电脑,U盘盘符不一样呀”,所以我猜想升级包是放在U盘上的。


是的我更新文件都在U盘里的,批处理也放在U盘的根目录

不如就打开我的电脑看,还快呢!
你喜欢哪种方法就用哪种方法,是你的自由,别人无法强迫你,悉听尊便。


唉。。。我之所以这么说是,我想一打开批处理就能更新游戏,而自动获取U盘盘符,我看不到效果呀!
或许是我自己不会弄,知道获取U盘盘符而不能和写绝对路径一样解压,没用呀!不如就打开“我的电脑”看

@echo off
for /f "skip=1 delims=" %%a in ('wmic logicaldisk where "drivetype='2'" get deviceid') do (
  set DriveU=%%a
)
start /w %DriveU%\Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe


试了,复了在批处理,运行了一下,CMD窗口一闪而过
作者: windowsxpk    时间: 2009-3-2 23:22

@echo off
for /f "skip=1 delims=" %%a in ('wmic logicaldisk where "drivetype='2'" get deviceid') do (
  set DriveU=%%a
)
start /w %DriveU%\Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe


试了,复了在批处理,运行了一下,CMD窗口一闪而过

@echo off
for /f "skip=1 delims=" %%a in ('wmic logicaldisk where "drivetype='2'" get deviceid') do (
  set DriveU=%%a
)
start /w \Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe


如果去除了“%DriveU%”能打开升级自解压包,但是会解压错误
作者: Batcher    时间: 2009-3-2 23:32     标题: 回复 16楼 的帖子

  1. @echo off
  2. for /f "skip=1 delims=" %%a in ('wmic logicaldisk where "drivetype='2'" get deviceid') do (
  3.   set DriveU=%%a
  4.   echo U盘盘符是:%DriveU%
  5.   goto :update
  6. )
  7. :update
  8. echo start /w %DriveU%\Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe
  9. pause
  10. start /w %DriveU%\Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe
  11. pause
复制代码

作者: windowsxpk    时间: 2009-3-2 23:51

一按任意键就一闪而过,应是找不到文件
作者: Batcher    时间: 2009-3-3 00:01     标题: 回复 18楼 的帖子

  1. @echo off
  2. for /f "skip=1 delims=" %%a in ('wmic logicaldisk where "drivetype='2'" get deviceid') do (
  3.   set DriveU=%%a
  4.   echo U盘盘符是:%DriveU%
  5.   goto :update
  6. )
  7. :update
  8. echo start /w %DriveU:~0,2%\Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe
  9. pause
  10. start /w %DriveU:~0,2%\Tools\游戏更新\水汻Q传\Qhero_UpdateSelf_Release_V1.2.53_V1.2.54.exe
  11. pause
复制代码

作者: windowsxpk    时间: 2009-3-3 00:07

行了,能解压了
不知说什么好,只有二个字了“谢谢”
作者: Batcher    时间: 2009-3-3 00:08     标题: 回复 20楼 的帖子

如果有人帮你解决了问题,建议进行以下操作:

1、修改帖子标题,在标题最前面注明:【已结】

2、给竭尽全力帮你的人、正确回答问题的人加分(你自己的积分不会减少)以示感谢,虽然大家来论坛是为了学习而不是为了积分,但加分聊表谢意总是或多或少能够让花费了时间和精力无私帮助你的人略感欣慰。

3、如果你是在别人的提示下自己写出了代码,请把自己的方法贴出来跟大家分享一下,也许他人可以帮你指出代码中的不足之处、告诉你如何提高执行效率等,有交流才能更快地进步。

作者: windowsxpk    时间: 2009-3-3 00:19

1,改了
2,不知怎样给人加分
2,我还是新手呢!写的都是网上借鉴的,上面贴子都贴出来了!
作者: Batcher    时间: 2009-3-3 00:27     标题: 回复 22楼 的帖子

删除 屏蔽 编辑 引用 已阅 报告 评分 回复 Top

作者: windowsxpk    时间: 2009-3-3 00:36

看来是有论坛职务才能给人加分的
我的没有
作者: Batcher    时间: 2009-3-3 09:36     标题: 回复 24楼 的帖子

根据《各用户组拥有的权限一览http://bbs.bathome.net/thread-1869-1-1.html》来看,应该是有权限的,我去意见反馈版块发帖求助问问是咋回事。
作者: windowsxpk    时间: 2009-3-3 19:38

行了。。。加了2分了。。。谢了
作者: Batcher    时间: 2009-3-3 19:41     标题: 回复 26楼 的帖子

给我加分不是重点,如果今后有他人帮你解决了问题,别忘了给人家加分啊^_^




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2