无忧启动论坛

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

帮我看看我写的自动安装全部系统补丁的批处理那里有问题

[复制链接]
跳转到指定楼层
1#
发表于 2007-1-21 21:10:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
start d:\123\WindowsMedia6-KB925398-x86-CHS.exe /passive /norestart
                                          .
                                          .
                                          .
                                          .
                                          .
start d:\123\WindowsXP-KB922616-x86-CHS.exe /passive /norestart

问题是为何系统只执行第1个补丁就结束了,后面的补丁全部都不执行。仿佛只有第1

行命令。我要让系统把补丁一个一个排队全部执行完所有补丁,请问该如何命令?
2#
发表于 2007-1-22 02:58:02 | 只看该作者
在 start 后面加个参数 /w 试试
回复

使用道具 举报

3#
发表于 2007-1-22 03:02:13 | 只看该作者
关注一下这个,我也打算自己做个win2000的自动更新。
回复

使用道具 举报

4#
 楼主| 发表于 2007-1-22 11:24:02 | 只看该作者
感谢2位的支持
回复

使用道具 举报

5#
发表于 2007-1-22 12:14:31 | 只看该作者

我给我的xp打补丁的bat如下,你斟酌办

用dir命令, 格式:dir /b >install_a.bat
Windows Update命令参数含义:
              [-U][-f][-o][-z][-q][-I]
              -U 表示Unattended模式,即无人参予模式
              -f 在关机时强行关闭其他程序
              -o 覆盖OEM文件,不提示
              -z 表示安装后不重新启动计算机
              -q 表示安装的过程中不出现提示信息
              -I 表示列出安装的修补程序

方法:打开cmd到补丁文件夹
    1. 输入dir /b >1.bat
    2. 编辑1.bat,将exe替换为exe /z /q
    3. 编辑1.bat,将最后一行的1.bat替换为shutdown -t 10 -y
    4. 最后一步该爪子就爪子三(双击1.bat)
回复

使用道具 举报

6#
 楼主| 发表于 2007-1-22 13:00:00 | 只看该作者
我努力看了您的详解,虽然还不是很懂,例如 dir /b。                 /b是什么意思?

不过还是感谢您的无私奉献
回复

使用道具 举报

7#
发表于 2007-1-22 13:24:52 | 只看该作者
echo
echo 正在安装补丁文件,请稍等......
start /w 1.exe /Q /U /N /Z
start /w 2.exe /Q /U /N /Z
start /w 3.exe /Q /U /N /Z
start /w 4.exe /Q /U /N /Z

echo 安装完成
echo. & pause

DEL /F /S /Q %systemdrive%\WINDOWS\$hf_mig$\
RD /S /Q %systemdrive%\WINDOWS\system32\dllcache
RD /S /Q %systemdrive%\WINDOWS\$hf_mig$\
DEL /F /S /Q %systemdrive%\WINDOWS\*.LOG

exit  

把这批处理和补丁放在同一文件夹下
如果是路径的话,最好用 " " 把路径引起来

[ 本帖最后由 swlove 于 2007-1-22 06:44 PM 编辑 ]
回复

使用道具 举报

8#
发表于 2007-1-22 16:19:19 | 只看该作者

用%systemroot%

是不是%systemroot%=%systemdrive%\windows了?!
回复

使用道具 举报

9#
 楼主| 发表于 2007-1-23 15:04:33 | 只看该作者
感谢支持的帮助
回复

使用道具 举报

10#
发表于 2007-1-23 18:16:37 | 只看该作者

找到了

原帖由 qingfushuan 于 2007-1-22 04:19 PM 发表
是不是%systemroot%=%systemdrive%\windows了?!



自己找到了http://shop.mgcgame.com/viewthre ... &extra=page%3D1
回复

使用道具 举报

11#
发表于 2007-1-25 23:41:19 | 只看该作者
试试一下的:
@FOR /R %%F IN (*.exe) DO @((@findstr _SFX_CAB_EXE_PATH "%%F" >nul && @start /wait %%F /U /Z)|| @start /wait %%F )

存为批处理  然后放到你的补丁目录下
回复

使用道具 举报

12#
发表于 2007-1-27 11:17:47 | 只看该作者
这样子太累了吧。

给当前系统打补丁.rar

1.3 KB, 下载次数: 161, 下载积分: 无忧币 -2

回复

使用道具 举报

13#
发表于 2007-1-27 12:24:07 | 只看该作者
老毛桃的这个实用,不过偶对打补丁没兴趣,一装机就把它关掉了
回复

使用道具 举报

14#
发表于 2007-1-27 12:49:51 | 只看该作者

好东东啊

实用的东东就可以提高p的能力,看了n遍for的help都不如毛桃的一个p管用啊,for啊for啊,原来这么用啊
能够在系统重启后再删除windows\$*$的就太完美了,应该加几句什么东东呢?

[ 本帖最后由 qingfushuan 于 2007-1-27 01:21 PM 编辑 ]
回复

使用道具 举报

15#
发表于 2007-1-30 10:31:05 | 只看该作者

来点点,供参考

@echo off
attrib -a -h %systemroot%\system32\GroupPolicy\Machine\Scripts\scripts.ini
echo. >%systemroot%\system32\GroupPolicy\Machine\Scripts\scripts.ini
echo [Startup] >>%systemroot%\system32\GroupPolicy\Machine\Scripts\scripts.ini
echo 0CmdLine=C:\del .bat >>%systemroot%\system32\GroupPolicy\Machine\Scripts\scripts.ini
echo 0Parameters= >>%systemroot%\system32\GroupPolicy\Machine\Scripts\scripts.ini
attrib +a +h %systemroot%\system32\GroupPolicy\Machine\Scripts\scripts.ini
回复

使用道具 举报

16#
 楼主| 发表于 2007-1-30 10:59:43 | 只看该作者
对于:
FOR /F %%i IN ('dir /b /od Hotfix_Files\*.exe') DO TITLE 正在集成 Windows 补丁 - %%i&&Start /WAIT Hotfix_Files\%%i /passive

不是很懂,有谁能帮忙断下句
回复

使用道具 举报

17#
发表于 2007-1-30 12:56:17 | 只看该作者

我认为

dir /b /od Hotfix_Files\*.exe   =   dir /b >install_a.bat
%%i&&Start /WAIT Hotfix_Files\%%i /passive     =   *.exe /z /q
其它的我忽略了,呵呵
回复

使用道具 举报

18#
发表于 2007-2-1 23:19:01 | 只看该作者
是不是判断  Hotfix_Files文件夹内 的exe文件的啊  如果条件成立 就运行exe文件吧 不知对否
回复

使用道具 举报

19#
发表于 2007-2-2 10:37:45 | 只看该作者

94

94
回复

使用道具 举报

20#
发表于 2007-3-15 14:30:01 | 只看该作者
原帖由 terse 于 2007-1-25 11:41 PM 发表
试试一下的:
@FOR /R %%F IN (*.exe) DO @((@findstr _SFX_CAB_EXE_PATH "%%F" >nul && @start /wait %%F /U /Z)|| @start /wait %%F )

存为批处理  然后放到你的补丁目录下


为什么一定要在C:\Documents文件夹里??可以修改这个地址吗?
回复

使用道具 举报

21#
发表于 2007-3-16 15:59:56 | 只看该作者
可能是后面的参数缺少


echo 正在安装补丁 (MS06-075) KB931836 ...
start /wait WindowsXP-KB931836-x86-CHS.exe /passive /norestart /n /o
echo 正在安装补丁 (MS06-075) KB918118 ...
start /wait WindowsXP-KB918118-x86-CHS.exe /passive /norestart /n /o


用批处理循环虽好,但我一直不知道如何控制补丁的安装顺序,微软的补丁安装顺序有要求,但发布的文件名后面的数字并不是按时间排序的。如果补丁不是全部从官方下载的,按文件时间排序也不可靠。
或者手工按发布顺序给每个文件加个数字前缀?

[ 本帖最后由 tuxw 于 2007-3-16 04:07 PM 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-27 17:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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