A. 什麼軟體可以查看電腦的配置及安裝所有的軟體,並能匯成Excel表
你可以用everest,去網上搜一下就有,不一定要最新的,我用的是everest綠色版(V3.50.761)也很好用。
一、打開ererest,在左側菜單,打開「軟體」>"已安裝程序「,會列出所有安裝軟體;
我寫得比較多,希望可以幫得上忙!
B. 如何通過bat導出windows已安裝程序列表,並且保存為文件名為計算機名.log到指定的目錄下
@echooff&
title已安裝程序列表獲取腳本By依夢琴瑤
::設置日誌文件保存路徑,不存在時會自動創建
setLogSaveDir=D:MyLog
setUnKey=
if/i"%PROCESSOR_IDENTIFIER:~,3%"=="x86"gotox86
echo正在努力獲取本機已安裝程序列表,請稍後。。。
(echoName^|^|Version^|^|Publisher^|^|InstallDate
for/f"delims="%%iin('regquery"HKLMSOFTWARE\%UnKey%"')do(
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vDisplayName2^>nul')do(
set"Name=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vDisplayVersion2^>nul')do(
set"Version=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vPublisher2^>nul')do(
set"Publisher=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vInstallDate2^>nul')do(
set"InstallDate=%%~k"
)
ifnotdefinedNamesetName=未知程序名
ifnotdefinedVersionsetVersion=未知版本號
=未知發布者
=未知安裝時間
ifnot"!Name!||!Version!||!Publisher!||!InstallDate!"=="未知程序名||未知版本號||未知發布者||未知安裝時間"echo!Name!^|^|!Version!^|^|!Publisher!^|^|!InstallDate!
set"Name="&set"Version="&set"Publisher="&set"InstallDate="
))>ymqy.$
(for/f"delims="%%iin('regquery"HKLMSOFTWAREWow6432Node\%UnKey%"')do(
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vDisplayName2^>nul')do(
set"Name=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vDisplayVersion2^>nul')do(
set"Version=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vPublisher2^>nul')do(
set"Publisher=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vInstallDate2^>nul')do(
set"InstallDate=%%~k"
)
ifnotdefinedNamesetName=未知程序名
ifnotdefinedVersionsetVersion=未知版本號
=未知發布者
=未知安裝時間
ifnot"!Name!||!Version!||!Publisher!||!InstallDate!"=="未知程序名||未知版本號||未知發布者||未知安裝時間"echo!Name!^|^|!Version!^|^|!Publisher!^|^|!InstallDate!
set"Name="&set"Version="&set"Publisher="&set"InstallDate="
))>>ymqy.$
(for/f"delims="%%iin('regquery"HKCUSOFTWARE\%UnKey%"')do(
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vDisplayName2^>nul')do(
set"Name=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vDisplayVersion2^>nul')do(
set"Version=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vPublisher2^>nul')do(
set"Publisher=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vInstallDate2^>nul')do(
set"InstallDate=%%~k"
)
ifnotdefinedNamesetName=未知程序名
ifnotdefinedVersionsetVersion=未知版本號
=未知發布者
=未知安裝時間
ifnot"!Name!||!Version!||!Publisher!||!InstallDate!"=="未知程序名||未知版本號||未知發布者||未知安裝時間"echo!Name!^|^|!Version!^|^|!Publisher!^|^|!InstallDate!
set"Name="&set"Version="&set"Publisher="&set"InstallDate="
))>>ymqy.$
gotoSortingList
:x86
(echoName^|^|Version^|^|Publisher^|^|InstallDate
for/f"delims="%%iin('regquery"HKLMSOFTWARE\%UnKey%"')do(
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vDisplayName2^>nul')do(
set"Name=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vDisplayVersion2^>nul')do(
set"Version=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vPublisher2^>nul')do(
set"Publisher=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vInstallDate2^>nul')do(
set"InstallDate=%%~k"
)
ifnotdefinedNamesetName=未知程序名
ifnotdefinedVersionsetVersion=未知版本號
=未知發布者
=未知安裝時間
ifnot"!Name!||!Version!||!Publisher!||!InstallDate!"=="未知程序名||未知版本號||未知發布者||未知安裝時間"echo!Name!^|^|!Version!^|^|!Publisher!^|^|!InstallDate!
set"Name="&set"Version="&set"Publisher="&set"InstallDate="
))>ymqy.$
(for/f"delims="%%iin('regquery"HKCUSOFTWARE\%UnKey%"')do(
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vDisplayName2^>nul')do(
set"Name=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vDisplayVersion2^>nul')do(
set"Version=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vPublisher2^>nul')do(
set"Publisher=%%~k"
)
for/f"skip=2tokens=2*delims="%%jin('regquery"%%~i"/vInstallDate2^>nul')do(
set"InstallDate=%%~k"
)
ifnotdefinedNamesetName=未知程序名
ifnotdefinedVersionsetVersion=未知版本號
=未知發布者
=未知安裝時間
ifnot"!Name!||!Version!||!Publisher!||!InstallDate!"=="未知程序名||未知版本號||未知發布者||未知安裝時間"echo!Name!^|^|!Version!^|^|!Publisher!^|^|!InstallDate!
set"Name="&set"Version="&set"Publisher="&set"InstallDate="
))>>ymqy.$
:SortingList
for/f"skip=1tokens=1delims=[]"%%ain('find/n"::SortingListVBS::""%~0"')dosetLine=%%~a
more+%Line%"%~0">Sorting.VBS
ifnotexist"%LogSaveDir%"md"%LogSaveDir%"
(cscript//nologo//e:jscript"Sorting.VBS"<ymqy.$)>"%LogSaveDir%\%COMPUTERNAME%.Log"
del/f/qymqy.$Sorting.VBS
echo本機已安裝程序列表已輸出至"%LogSaveDir%\%COMPUTERNAME%.Log"
pause
exit
::SortingListVBS::
vari=0,arr=[],max=[];
varreg=/[^x00-xff]/g;
while(!WSH.StdIn.AtEndOfStream){
varstrLine=WSH.StdIn.ReadLine();
if(!/^s*$/.test(strLine)){
arr[i]=strLine.split('||');
for(varj=0;j<arr[i].length;j++){
varlen=arr[i][j].replace(reg,'..').length;
if(!max[j]||len>max[j])max[j]=len;
}
i++;
}
}
for(vari=0;i<arr.length;i++){
vars='';
for(varj=0;j<arr[i].length;j++){
varlen=max[j]-arr[i][j].replace(reg,'..').length;
varspace='';
for(vark=0;k<len;k++)space+='';
s+=arr[i][j]+space;
}
WScript.Echo(s);
}
最終的效果是這樣的,比WMIC多了兩個詳細的項目,那就是軟體發布者和安裝時間。