[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 【已结】自己写的批量安装windows更新补丁的批处理

  1. @echo off & setlocal EnableDelayedExpansion
  2. dir /a /b /od>>install1.bat
  3. for /f "delims=" %%i in (install1.bat) do (
  4. set n=%%i
  5. set n=!n:.exe=.exe /norestart /quiet!
  6. echo !n!>>install2.bat
  7. )
  8. find /v ".bat" install2.bat>>install3.bat
  9. for /f "eol=- tokens=*" %%a in (install3.bat) do echo %%a>>install.bat
  10. del install1.bat
  11. del install2.bat
  12. del install3.bat
  13. start install.bat
  14. pause>nul
  15. del install.bat
  16. pause
复制代码


dir /a /b /od>>install1.bat这段代码非原创,以前偶然间看到的
其余的内容有这几天在论坛中学习中,自己写出来~在此感谢各位版主的指导~

使用方法:将更新补丁和代码放在一个文件夹里,执行即可。

对于>我总是用不好,本来想只产生一个install.bat文件,然后每次把文本内容用>覆盖到install.bat,但是发现结果跟想象的完全不一样,不知道是怎么回事。

将更新补丁和代码放在一个文件夹 我一直用下面的
  1. for %%i in (*.exe) do start "" /wait "%%i"  /passive /norestart /nobackup /o /n
复制代码

TOP

哎~~原来有这么简单方法啊~看来我写的太麻烦了,呵呵~又学会一招了~

TOP

原帖由 terse 于 2008-12-30 13:45 发表
将更新补丁和代码放在一个文件夹 我一直用下面的for %%i in (*.exe) do start "" /wait "%%i"  /passive /norestart /nobackup /o /n

  1. @echo off
  2. set /p m=请输入路径:
  3. for /f %%a in ('dir %m%\*.exe /b') do (
  4. echo 正在安装%%a
  5. start /wait %%a /quiet /norestart 2>nul
  6. echo 安装完毕
  7. )
  8. pause
复制代码

我把代码改进了一下,terse兄的代码运行以后没有提示,看起来怪怪的。我改成了需要输入路径,并且在运行的时候提示正在安装,运行完毕以后提示安装完毕。感谢terse兄提供的思路~不然以后我还是用我以前的傻办法在运行补丁~~

TOP

返回列表