@echo off setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION set arch=x64 set cspt=%systemroot%\syswow64\ set | find "%PROCESSOR_ARCHITEW6432%" > nul if errorlevel 0 ( if "%PROCESSOR_ARCHITECTURE%" equ "x86" set arch=x86 ) else ( if "%PROCESSOR_ARCHITEW6432%" equ "x86" set arch=x86 ) if "%arch%"=="x86" set cspt= rem if exist 2_vbsapl.txt del 2_vbsapl.csv rem if exist 2_regapl.txt del 2_regapl.csv rem --- VBS版(プログラムと機能から取得) --- echo "ソフト名","発行元","インストール日付","バージョン" > 2_vbsapl.csv %cspt%cscript _2_aplist.vbs >> 2_vbsapl.csv rem --- レジストリ版 --- echo "ソフト名","発行元","インストール日付","バージョン" > 2_regapl.csv call :regapl "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall" call :regapl "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall" if "%arch%"=="x64" call :regapl "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" exit :regapl set basekey=%1 for /f "tokens=*" %%a in ('reg query %basekey%') do ( for /f "tokens=1,2,*" %%b in ('reg query ^"%%a^"') do ( if "%%b"=="DisplayName" set aName=%%d if "%%b"=="Publisher" set aMake=%%d if "%%b"=="InstallDate" set aDate=%%d if "%%b"=="DisplayVersion" set aVer=%%d ) if not "!aDate!"=="" if not "!aDate:~4,1!"=="/" set aDate=!aDate:~0,4!/!aDate:~4,2!/!aDate:~6,2! if not "!aName!"=="" ( echo "!aName!","!aMake!","!aDate!","!aVer!" >> 2_regapl.csv rem echo "!aName!","!aMake!","!aDate!","[size]","!aVer!" ) set aName= set aMake= set aDate= set aVer= ) goto :eof