@echo off title %~nx0 REM ******************************************************************** REM * 指定したファイルを全ドライブから検索してバージョンチェック REM http://www10.plala.or.jp/palm84/plugin.html REM http://www10.plala.or.jp/palm84/commandline.html REM http://www10.plala.or.jp/palm84/archives/commandline/backup/Find_and_FileVer_Plugin-All.bat.txt REM https://eu7w9wsmf6a74xyjdfzl3q-on.drv.tw/archives/commandline/backup/Find_and_FileVer_Plugin-All.bat.txt REM ******************************************************************** ver | find "Version 6" >nul && set osver=vista if "%osver%"=="vista" ( if /i not "%cd%"=="%windir%\system32" GOTO UAC ) pushd %~dp0 REM ##################################### REM ### ファイルを変数にSet REM ##################################### REM ===== Java Runtime set Target_01=java.exe REM ===== Java Deployment Tool Kit - old version (both) set Target_02=npdeploytk.dll REM ===== Java Deployment Tool Kit (both) set Target_03=npdeployJava1.dll REM ===== Adobe Reader set Target_04=acrord32.exe REM ===== Adobe Reader (plugin) set Target_05=nppdf32.dll REM ===== Flash Player (ActiveX) 5.x set Target_06=Swflash.ocx REM ===== Flash Player (ActiveX) set Target_07=flash.*.ocx REM ===== Flash Player (plugin) set Target_08=NPSWF32.dll REM ===== Shockwave for Director (ActiveX) set Target_09=SwDir.dll REM ===== Shockwave for Director (plugin) set Target_10=np32dsw.dll REM ===== Real Player set Target_11=realplay.exe REM ===== QuickTime set Target_12=QuickTimePlayer.exe REM ===== iTunes set Target_13=iTunes.exe REM ## REM set Target_14= REM ## REM set Target_15= REM ## REM set Target_16= REM ##################################### REM ### ログファイル REM ##################################### :TEMP_LOG REM ## Temp set temp_dir=%temp%\%random% mkdir %temp_dir% REM ## log set now=%date%_%time% set now=%now: =0% set now=%now:~-20,2%%now:~-17,2%%now:~-14,5%%now:~-8,2%%now:~-5,2% set log=%cd%\Find_and_FileVer-Plugin_%now%.txt REM ##################################### REM ### VBScript REM ##################################### set vbscript=%temp_dir%\script.vbs > "%vbscript%" echo Option Explicit >>"%vbscript%" echo Dim objShellApp >>"%vbscript%" echo Set objShellApp = CreateObject ("Shell.Application") >>"%vbscript%" echo: >>"%vbscript%" echo If WScript.Arguments.Count = 0 Then >>"%vbscript%" echo WScript.Echo "コマンドライン引数が指定されていません" >>"%vbscript%" echo Else >>"%vbscript%" echo MyFileVer >>"%vbscript%" echo End If >>"%vbscript%" echo Set objShellApp = Nothing >>"%vbscript%" echo: >>"%vbscript%" echo Sub MyFileVer >>"%vbscript%" echo Dim objFSO, objFile, objFolder, objFolderItems, objItem >>"%vbscript%" echo Dim strPath, strFileName, strFolder, strName, strName2 >>"%vbscript%" echo Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") >>"%vbscript%" echo For Each strPath In WScript.Arguments >>"%vbscript%" echo If objFSO.FileExists(strPath) Then >>"%vbscript%" echo Set objFile = objFSO.GetFile(strPath) >>"%vbscript%" echo strFileName = objFSO.GetFileName(strPath) >>"%vbscript%" echo strFolder = objFile.ParentFolder >>"%vbscript%" echo Set objFolder = objShellApp.Namespace(strFolder) >>"%vbscript%" echo Set objFolderItems = objFolder.Items >>"%vbscript%" echo Set objItem = objFolderItems.Item(strFileName) >>"%vbscript%" echo Wscript.Echo strPath >>"%vbscript%" echo Dim m >>"%vbscript%" echo For m=18 to 300 >>"%vbscript%" echo strName2 = objFolder.GetDetailsOf(Nothing, m) >>"%vbscript%" echo If strName2 = "製品バージョン" Then >>"%vbscript%" echo Wscript.Echo "Product Version : ", objFolder.GetDetailsOf(objItem, m) >>"%vbscript%" echo End If >>"%vbscript%" echo Next >>"%vbscript%" echo Wscript.Echo " 最終更新日時 : ", objFolder.GetDetailsOf(objItem, 3) >>"%vbscript%" echo Wscript.Echo " サイズ : ", objFolder.GetDetailsOf(objItem, 1) >>"%vbscript%" echo End If >>"%vbscript%" echo Next >>"%vbscript%" echo Set objFSO = Nothing >>"%vbscript%" echo End Sub REM ##################################### REM ### Warning ! REM ##################################### echo: echo: echo ************************************************************** echo ! cscript.exe 実行時に、 echo ! ウイルス対策ソフトが警告を出すかもしれません echo ! 一時的に許可して下さい ! echo ************************************************************** echo *** 何かキーを押すと続行します *** pause >nul >>"%log%" echo ========================================================= >>"%log%" echo 調査日時 === %date% %time% === >>"%log%" echo ========================================================= >>"%log%" echo java.exe -- Java Runtime >>"%log%" echo npdeploytk.dll -- Java Deployment Tool Kit old-version (both) >>"%log%" echo npdeployJava1.dll -- Java Deployment Tool Kit (both) >>"%log%" echo acrord32.exe -- Adobe Reader >>"%log%" echo nppdf32.dll -- Adobe Reader (Plugin) >>"%log%" echo flash.*.ocx -- Flash Player (ActiveX Control) >>"%log%" echo npswf32.dll -- Flash Player (Plugin) >>"%log%" echo SwDir.dll -- ShockWave Player (ActiveX Control) >>"%log%" echo np32dsw.dll -- ShockWave Player (Plugin) >>"%log%" echo realplay.exe -- Real Player >>"%log%" echo QuickTimePlayer.exe -- QuickTime Player >>"%log%" echo iTunes.exe -- iTunes for /f "usebackq tokens=2 delims==" %%x in (`set Target_`) do ( >>"%log%" echo: >>"%log%" echo ========================================================= >>"%log%" echo *** %%x >>"%log%" echo ========================================================= echo: echo ====== %%x を検索中... echo: set Filename=%%x && call :CH_DRIVE ) GOTO END REM ##################################### REM ### ドライブ文字検索 REM ##################################### :CH_DRIVE REM ## すべてのドライブ ## for %%x in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do ( fsutil fsinfo drivetype %%x: | findstr 固定ドライブ >nul if not ERRORLEVEL 1 ( dir /a/b >nul 2>nul %%x:\ && set "drive=%%x" && call :DIR_FIND )) REM ## C,D ドライブ ###### REM for %%x in (C,D) do ( REM dir /a/b >nul 2>nul %%x:\ && set "drive=%%x" && call :DIR_FIND) REM ## C ドライブのみ #### REM set drive=C && call :DIR_FIND exit /b REM ##################################### REM ### DIR_FIND REM ##################################### :DIR_FIND echo * ...%drive%:ドライブを検索しています... for /f "usebackq delims=" %%I in (`dir /a-d/b/s %drive%:\ ^| findstr /i /e "%filename%"`) do ( echo %%~nxI | findstr /i /b "%filename%" >nul if not ERRORLEVEL 1 ( set "CHECK=%%I" && call :RUN_VBS )) exit /b REM ##################################### REM ### cscript.exe REM ##################################### :RUN_VBS >>"%log%" cscript //nologo "%vbscript%" "%CHECK%" exit /b REM ## OS check ver | find "Version 6" >nul && set osver=vista if "%osver%"=="vista" ( if /i not "%cd%"=="%windir%\system32" GOTO UAC pushd %~dp0 ) REM ##################################### REM ### UAC REM ##################################### :UAC echo: echo: echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: echo !「管理者として実行」してくださいマセ ! echo: echo *** 何かキーを押すと閉じます *** echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: pause >nul GOTO :EOF REM ##################################### REM ### END REM ##################################### :END start "" "%log%" rd /s /q "%temp_dir%"