这2段cmd语法有什么不同

Home Home
引用 | 编辑 edwin82
2006-04-19 17:52
楼主
推文 x0
第一段是我看书自己写的

CLS
@ECHO OFF

ECHO.
ECHO Installing SP2 Hotfixes
ECHO Please wait...
fot %%i in (%systemdrive%\install\Hotfix1\*.exe) do start /wait %%i /Q /N /Z
fot %%i in (%systemdrive%\install\Hotfix2\*.exe) do start /wait %%i /Q:A /R:N

ECHO.
ECHO Installing Winrar 3.51
ECHO Please Wait...
start /wait %systemdrive%\install\winrar\wrar351tc.exe /S

ECHO.
ECHO Deleting Temp Installation Files...
RD /S /Q %systemdrive%\Drivers
RD /S /Q %systemdrive%\Install
RD /S /Q %systemdrive%\HOTFIX1
RD /S /Q %systemdrive%\HOTFIX2


EXIT

-------------------------------------------------------------------------------------
下面这段是windows xp pre-sp3里的
我不太懂第4第5行
还有每行路径前面都会加"REG ADD %KEY%\005 /VE /D"是什么意思

cmdow @ /HID
@echo off

FOR %%i IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\CD.txt SET CDROM=%%i:

SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

REG ADD %KEY% /V TITLE /D "Installing Windows Update" /f

REG ADD %KEY%\005 /VE /D "MS .NET Framework 1.1 SP1" /f
REG ADD %KEY%\005 /V 1 /D "%CDROM%\INSTALL\Update\DOTNETFX\netfxsp1.exe" /f
REG ADD %KEY%\005 /V 2 /D "%CDROM%\INSTALL\Update\DOTNETFX\LAN11.EXE" /f

REG ADD %KEY%\006 /VE /D "MS .NET Framework 2.0" /f
REG ADD %KEY%\006 /V 1 /D "%CDROM%\INSTALL\Update\DOTNETFX\NET20\INS ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 edwin82
2006-04-19 19:05
1楼
  
我想另外问super XP里开机时出现在工具选单如ghost spfdisk partision magric那些是怎么做的???
我翻了5 6 页都没看到
有没有可以让我参考的网址
谢谢

献花 x0
引用 | 编辑 莫力思雷靠呗
2006-04-21 18:09
2楼
  
下面是引用edwin82于2006-04-19 17:52发表的 请问这2段cmd语法有什么不同:
第一段是我看书自己写的
CLS
@ECHO OFF

ECHO.
.......

其实第一篇跟第二篇的比较是没有什么多大的特性,
第一篇是使用程式的回圈去执行每一各 .exe 的档案,而 /Q /N /Z 跟 /Q:A /R:N 是
msiexec 的档案执行参数

第二篇就是一般的 COMMAND 的东西跟第一篇差不了多少,大同小异‧‧‧
而你说的,
FOR %%i IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\CD.txt
SET CDROM=%%i:
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
这三段的意义就是说,我制作了一个回圈,依序寻找 C:\cd.txt、D:\cd.txt、E:\cd.txt‧‧‧‧
当在某一个槽面找到 cd.txt 档的时候设定 CDROM 为该槽面。
譬:我将 cd.txt 档放在 CD 片的根目录下
所以我设定了回圈
FOR %%i IN (D E F G H I J K L M N O P Q R S T U V W X Y Z)
这一行是回圈的条件 DO IF EXIST %%i:\CD.txt
依指令的动作分别在 D:\cd.txt'、 E:\cd.txt 搜寻我的档案位置槽面。
比如我的 CD-ROM 是 H 槽,所以当回圈执行到 H:\cd.txt 的时候,寻到了档案就跳出回圈,
而我的 %%i 的值就等于 H
所以 SET CDROM=%%i 的意思就是这样,等于 SET CDROM=H
所以依上面的解说,自己也能自行设定 SET 值
很多人喜欢打档案放在 $OEM$\$1
比如我的 $1 的目录下有 SOFT 跟 UPDATE 还有 SVCPACK 三个目录
所以我就简略的设定了
SET SOFT=%SYSTEMDRIVE%\SOFT
SET UPDATE=%SYSTEMDRIVE%\UPDATE
SET SVCPACK=%SYSTEMDRIVE%\SVCPACK

所以当我执行 RunOnceEx 的 REG 设定的时候就简便多了,

REG ADD %KEY%\005 /VE /D "MS .NET Framework 1.1 SP1" /f
REG ADD %KEY%\005 /V 1 /D "%Update%\DOTNETFX\netfxsp1.exe" /f
REG ADD %KEY%\005 /V 2 /D "%Update%\DOTNETFX\LAN11.EXE" /f

REG ADD %KEY%\006 /VE /D "MS .NET Framework 2.0" /f
REG ADD %KEY%\006 /V 1 /D "%Update%\DOTNETFX\NET20\INSTALL /Q" /f

REG ADD %KEY%\010 /VE /D "Yahoo Messenger 7.1" /f
REG ADD %KEY%\010 /V 1 /D "%Soft%\Yahoo.exe" /f

献花 x0
引用 | 编辑 threesecond
2006-04-23 13:28
3楼
  
上面回的牛头不对马嘴.....这跟自动搜寻光碟机有什么关联?

回原发文者:
你的第一段叙述,只是一般用批次档自动连续安装软体的做法。
这种方法执行出来的画面就像这样:
第二种则是将批次档放在 RunOnceEx 机码里面,让 Windows 开机时自动执行。
这种方法执行出来的画面就像这样:

两种方法的目的都一样,就是自动安装软体,只不过过程不同,看你自己选择想用哪一种都可以。
上面两种方法的详细说明:
http://www.cctips.com/Unattended/batch_commands.htm
http://www.cctips.com/Unattended/runonceex.htm

献花 x0
引用 | 编辑 莫力思雷靠呗
2006-04-29 13:43
4楼
  
下面是引用threesecond于2006-04-23 13:28发表的 :
上面回的牛头不对马嘴.....这跟自动搜寻光碟机有什么关联?

回原发文者:
你的第一段叙述,只是一般用批次档自动连续安装软体的做法。
这种方法执行出来的画面就像这样:
.......

什么叫牛头不对马嘴,你讲的是程式执行结果的样式,各为 CMD.exe 及 RunOnceEx 的样式,我哪不知
道,那你也总看看我的细说吧!我的是程式设计的原因解说。不管如何多多少少也对他有点用处。
再者
cmdow @ /HID
@echo off

FOR %%i IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\CD.txt SET CDROM=%%i:
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

REG ADD %KEY% /V TITLE /D "Installing Windows Update" /f

REG ADD %KEY%\005 /VE /D "MS .NET Framework 1.1 SP1" /f

REG ADD %KEY%\005 /V 1 /D "%CDROM%\INSTALL\Update\DOTNETFX\netfxsp1.exe" /f
REG ADD %KEY%\005 /V 2 /D "%CDROM%\INSTALL\Update\DOTNETFX\LAN11.EXE" /f

依程式设计的来说第4第5行,不正是红色那行,所以我才说那段的原理及原因。
如果不包刮断行空白列才是蓝色那一行,哪知道他要问的是红色那一行还是蓝色那一行。

总归一句你讲的也对,我说的也有理,只是成效不同罢了。可别说我牛头不对马嘴。

献花 x0
引用 | 编辑 J2SN021108
2008-07-11 13:36
5楼
  
请问以第2种方式做出来的要怎么测试?

REG ADD %KEY%\005 /V 1 /D "%CDROM%\INSTALL\Update\DOTNETFX\netfxsp1.exe" /f
里面的 005 跟 /V1 /D 还有最后面的 /f 是什么意思?

献花 x0
引用 | 编辑 chenweihau
2008-12-12 19:25
6楼
  
照三秒的说法~所以可以一次用RunOnceEx安装完全部的软体~对吗??

那为何有些人还要用intall.exe来安装更新档+某些软体~像msn

是因为那xp安装的39分钟太长先安装一先程式吗

献花 x0
引用 | 编辑 threesecond
2008-12-15 00:13
7楼
  
下面是引用chenweihau于2008-12-12 19:25发表的 : 到引言文
照三秒的说法~所以可以一次用RunOnceEx安装完全部的软体~对吗??
那为何有些人还要用intall.exe来安装更新档+某些软体~像msn
是因为那xp安装的39分钟太长先安装一先程式吗
前面说过了,方法不同,目的一样,
能达到同样的目的,没人限制你用什么方法,随你高兴。

也没有什么「因为那xp安装的39分钟太长.....」
一切看你自己的规划,没有标准答案。

献花 x0