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多了两个详细的项目,那就是软件发布者和安装时间。