@echo off title %~nx0 set temp_dir=%temp%\%random% mkdir %temp_dir% set temp_file1=%temp_dir%\1.txt set temp_file2=%temp_dir%\2.txt set vbfile=%temp_dir%\vbfile.vbs REM ##################################### REM ### vbfile REM ##################################### :vbfile > "%vbfile%" echo Option Explicit >>"%vbfile%" echo Dim objFSO,objTxt,objTxtW,objShell,objRead,objFile >>"%vbfile%" echo Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") >>"%vbfile%" echo Const ForReading = 1, ForWriting = 2, ForAppending = 8 >>"%vbfile%" echo Set objTxt = objFSO.OpenTextFile("%temp_file1%", ForReading, true, -2) >>"%vbfile%" echo Set objTxtW = objFSO.OpenTextFile("%temp_file2%", ForWriting, true, -2) >>"%vbfile%" echo MyFileVer >>"%vbfile%" echo objTxt.Close >>"%vbfile%" echo objTxtW.Close >>"%vbfile%" echo Set objTxt = Nothing >>"%vbfile%" echo Set objTxtW = Nothing >>"%vbfile%" echo Set objFSO = Nothing >>"%vbfile%" echo '********************************************************* >>"%vbfile%" echo 'Sub MyFileVer >>"%vbfile%" echo '********************************************************* >>"%vbfile%" echo Sub MyFileVer >>"%vbfile%" echo Do Until objTxt.AtEndOfStream >>"%vbfile%" echo objRead = objTxt.ReadLine >>"%vbfile%" echo If objRead ^<^> "" Then >>"%vbfile%" echo objTxtW.WriteLine "------------------------------------------------------------" >>"%vbfile%" echo objTxtW.WriteLine objRead >>"%vbfile%" echo objTxtW.WriteLine "------------------------------------------------------------" >>"%vbfile%" echo objTxtW.WriteLine "Path : " ^& objRead >>"%vbfile%" echo objTxtW.WriteLine "File version : " ^& objFSO.GetFileVersion(objRead) >>"%vbfile%" echo Set objFile = objFSO.GetFile(objRead) >>"%vbfile%" echo objTxtW.WriteLine "最終更新日時 : " ^& objFile.DateLastModified >>"%vbfile%" echo objTxtW.WriteLine "サイズ : " ^& Round(objFile.Size / 1024) ^& " KB" >>"%vbfile%" echo Else >>"%vbfile%" echo Exit Do >>"%vbfile%" echo End If >>"%vbfile%" echo Loop >>"%vbfile%" echo Set objFile = Nothing >>"%vbfile%" echo objTxtW.WriteBlankLines (1) >>"%vbfile%" echo End Sub REM ##################################### REM ### Warning ! REM ##################################### echo: echo: echo ************************************************************** echo ! cscript.exe 実行時に、 echo ! ウイルス対策ソフトが警告を出すかもしれません echo ! 一時的に許可して下さい ! echo ************************************************************** echo *** 何かキーを押すと続行します *** pause >nul REM ##################################### REM ### ASK_FILE REM ##################################### :ASK_FILE cls echo: echo ************************************************************** echo * * echo * === * ファイル名を指定して検索...(※すべてのドライブ) === * echo * === * WSH(VBScript)でバージョン情報などを書き出し... === * echo * * echo * === ! ファイル名完全一致のみ検索します ! === * echo * * echo * === 部分一致も検索するにはワイルドカード [.*] 指定 === * echo * === * 例 : flash.*.ocx === * echo * === * 例 : regedit.* === * echo * === * 例 : .*reg.exe === * echo * * echo * === 複数ファイル指定は、スペース区切りで... === * echo * * echo * *** 中断は 999 *** * echo ************************************************************** echo: set /p filename= ファイル名を入力 : echo: if defined filename set filename=%filename:"=% if "%filename%"=="999" GOTO END if "%filename%"=="" GOTO ASK_FILE set log=%filename:.*=-% set log=%log: =_% set log=Filever_vbs_%log%.txt > "%log%" echo ========================================================= >>"%log%" echo %date% %time% -- %filename% >>"%log%" echo ========================================================= REM ##################################### REM ### ドライブ文字検索 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 ( dir /a/b >nul 2>nul %%x:\ && set "drive=%%x" && call :DIR_FIND ) GOTO RUN_VBS 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 ( >>"%temp_file1%" echo %%I) ) exit /b REM ##################################### REM ### cscript.exe REM ##################################### :RUN_VBS cscript.exe //nologo "%vbfile%" >>"%log%" type "%temp_file2%" start "" "%log%" :END rd /s /q "%temp_dir%"