這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