
[已解決]批處理命令for提取2行后怎么給每行設變量最后由 lantern 于 -5-23 01:29想弄個bat處理Virtualbox安裝包
VirtualBox-4.3.12-93733-Win.exe解壓到VirtualBox目錄后有3個文件:common.cabVirtualBox-4.3.12-r93733-MultiArch_amd64.msiVirtualBox-4.3.12-r93733-MultiArch_x86.msi最后一步不會弄了,msiexec兩行都是解壓x86的msi...怎么才能分別執行x86和x64?謝謝nclick="copycode($('code0'));">復制代碼
- @echo off
- REM 獲取最新版本號
- wget -N http://download.virtualbox.org/virtualbox/LATEST.TXT
- for /f %%i in (LATEST.TXT) do (set latest=%%i)
- REM 獲取最新版本號目錄
- echo http://download.virtualbox.org/virtualbox/%latest%>dl.txt
- REM .vbox-extpack也可直接下載了
- echo http://download.virtualbox.org/virtualbox/%latest%/Oracle_VM_VirtualBox_Extension_Pack-%latest%.vbox-extpack >>dl.txt
- wget -N -i dl.txt
- REM .exe包含小版本號,不能直接下載
- REM 獲取exe文件名
- for /f delims=<,> tokens=3 skip=4 %%i in (index.html) do (echo %%i>>ddd.txt)
- findstr exe ddd.txt>dddd.txt
- REM 去除行首空格
- for /f %%i in (dddd.txt) do (set exe=%%i)
- REM 下載exe
- echo http://download.virtualbox.org/virtualbox/%latest%/%exe% >dl.txt
- wget -N -i dl.txt
- REM 解壓VirtualBox-Version-Win.exe
- %exe% --extract --path VirtualBox --silent
- REM 解壓Oracle_VM_VirtualBox_Extension_Pack-Version.vbox-extpack
- 7z x *.vbox-extpack -oVirtualBox
- 7z x VirtualBoxOracle_VM_VirtualBox_Extension_Pack-* -oVirtualBoxExtensionPacks
- for /f tokens=4 %%i in ('dir VirtualBox*.msi') do (echo %%i>>a.txt | findstr msi a.txt>b.txt)
- for /f tokens=* %%i in (b.txt) do (set msi=%%i)
- msiexec /a VirtualBox%msi%/qb TARGETDIR=%CD%VirtualBoxx86
- msiexec /a VirtualBox%msi%/qb TARGETDIR=%CD%VirtualBoxx64
- del *.txt *.html
- pause

