我想創建一個批處理文件來檢查MSOffice安裝類型(32位或64位)的用戶環境,然後複製特定於該環境的文件。我開始使用此代碼,從Batch file check office architecture version獲取版本根據Office版本複製批處理文件
Echo off&SetLocal
Set "KEY="&Set "GUID="&Set "IOV="&Set "MWB=32"&Set "MOB=32"
Echo=%PROCESSOR_ARCHITECTURE% %PROCESSOR_ARCHITEW6432%|Find "64">Nul&&(
Set "KEY=\Wow6432Node"&Set "MWB=64")
Set "KEY=HKLM\Software%KEY%\Microsoft\Windows\CurrentVersion\Uninstall"
For /f "Delims=" %%a In ('Reg Query %KEY% /k /f "*-001B-*0FF1CE}"') Do (
If Not Defined GUID Set "GUID=%%~nxa")
If Not Defined GUID (Echo=Unable to find Office Product&GoTo :EndIt)
If %GUID:~20,1% Equ 1 Set "MOB=64"
If %GUID:~4,1% Equ 4 (Set IOV=10) Else (If %GUID:~4,1% Equ 2 (Set IOV=07) Else (
If %GUID:~4,1% Equ 5 (Set IOV=13) Else (Set IOV=??)))
Echo=&Echo= Office 20%IOV% %MOB%-bit Product installed on a %MWB%-bit OS
但想擴大它更多的是巧妙地複製。 我想
If "MOB=32" copy /y "\\file(32-Bit).exe" c:\%USERPROFILE%\Desktop
Else copy /y "\\file(64-Bit).exe" c:\%USERPROFILE%\Desktop
Echo=&Echo= Copy Completed! Have A Nice Day!
但總是收到「拷貝不希望在這個時候」,利用XCOPY也嘗試過,得到了相同的結果。這將有助於在混合環境中部署任何想法?可以肯定的語法錯誤=(
'如果 「MOB = 32」'應該是'如果MOB%%32 == ' –
閱讀「IF」命令的幫助。它會顯示使用和「IF ... ELSE」命令的確切語法。 – Squashman
我承認[code](http://www.dostips.com/forum/viewtopic.php?t=5383#p33104)。很高興它被發現有用! – Compo