? Название: hfinfo.vbs ? Описание: Shows hotfix information ? Версия: 1.0 ? Автор: Mark Burnett (mb@xato.net) ? Комментарии: работает с большинством исправлений Windows 2000 ? Copyright (c)2003 Mark Burnett (mb@xato.net) ? ? ОТКАЗ ОТ ОБЯЗАТЕЛЬСТВ: ? THIS SOFTWARE AND ACCOMPANYING DOCUMENTATION ARE PROVIDED «AS IS» WITHOUT ? EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ? WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO ? EVENT SHALL THE DEVELOPERS, CONTRIBUTORS, OR DISTRIBUTORS BE LIABLE FOR ANY ? DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES, ? INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ? LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION, HOWEVER CAUSED AND ? on ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT, ? INCLUDING NEGLIGENCE OR OTHERWISE, ARISING IN ANY WAY OUT OF THE USE OF ? THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ? Set fso = CreateObject(«Scripting.FileSystemObject») Set objArgs = WScript.Arguments ?Проверка аргументов If objArgs.Count=0 Then WScript.Echo «Usage: hfinfo.vbs» Else sHotfix=objArgs(0) End If ?Извлечение файлов исправления по пути temp WScript.Echo «Opening hotfix...» Set WshShell = WScript.CreateObject(«WScript.Shell») Set oEnv = WshShell.Environment(«Process») sPath=oEnv(«TEMP») & «» & fso.GetBaseName(sHotfix) WshShell.Run sHotfix & « /q /x:» & sPath, 0, True Вывод строки заголовка WScript.Echo vbCrLf & RightJustify(«Date»,10) & « « & _ RightJustify(«Time»,11) & « « & _ LeftJustify(«Version»,13) & _ RightJustify(«Size»,10) & « « & _ LeftJustify(«Name»,28) WScript.Echo String(79,»-») ?Формат и выходная информация каждого файла On Error Resume Next Set oFolder = fso.GetFolder(sPath) For Each oFile in oFolder.Files If InStr(«spmsg.dll spuninst.exe svcpack1.dll empty.cat»,oFile.Name)=0 Then sDateAndTime=Split(oFile.DateCreated,» «) sDateStamp=RightJustify(sDateAndTime(0), 10) sTimeStamp=RightJustify(sDateAndTime(1) & « « & sDateAndTime(2), 11) sFileVersion=LeftJustify(fso.GetFileVersion(oFile.Path),13) sFileSize=RightJustify(FormatNumber(CLng(oFile.Size),0,0,0,-1),10) sFileName=LeftJustify(oFile.Name,28) WScript.Echo sDateStamp & « « & sTimeStamp & « « & sFileVersion & _ sFileSize & « « & sFileName End If Next ?Cleanup fso.DeleteFolder sPath, True Set fso = Nothing Function LeftJustify(sData, vColWidth) vLen=Len(sData) If vLen > vColWidth Then sData=Left(sData,vColWidth-2) & «...» vLen=vColWidth End If LeftJustify=sData & Space(vColWidth-vLen) End Function Function RightJustify(sData, vColWidth) vLen=Len(sData) If vLen > vColWidth Then sData=»...» & Left(sData,vColWidth-2) vLen=vColWidth End If RightJustify=Space(vColWidth-vLen) & sData End Function