2019年6月5日 星期三

Dism 指令

Dism指令為微軟安裝封包的套件指令
這邊不做詳述
以下是以dism指令安裝.Net 3.5
其中假設.Net 3.5相關檔案放在隨身碟E:\sxs內

dism /online /enable-feature /featurename:netfx3 /All /LimitAccess /Source:E:\sxs

但此指令很不靈活
檔案帶來帶去不好確認在什麼磁區

以下兩種方法
使用xcopy指令

xcopy .\sxs D:\temp\sxs /E /I

將該資料夾複製至固定磁區內
等到dism指令完成後再使用rd指令移除資料夾

rd D:\temp /s /q

風險是指令的空白需要檢查詳細
不然一個不小心D槽的資料就全沒了
另外有一比較安全作法
就是使用相對路徑

dism /online /enable-feature /featurename:netfx3 /All /LimitAccess /Source:.\sxs

另外
因為dism指令需用系統管理員權限執行
所以會導致目錄跑掉
需參考我另一篇文章

Command Line 使用命令提示字元下.\為跟目錄而非當下目錄解決方法

Command Line 使用命令提示字元下.\為跟目錄而非當下目錄解決方法

Windows 環境下
在使用xcopy、copy...等指令時
如果命令提示字元是以管理員執行
指令內如果含有 .\ 時
會發生路徑錯誤
此時需要在指令一開始的地方加上

%~D0
CD  %~DP0

即可正常執行指令