VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта
-
O L E G
VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта
Подскажите как мне запустить 123.inf файл из под VBS скрипта автоматом
-
Iska
Re: VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта
O L E G, для не исполняемых файлов нет понятия «запустить». Для них применимо понятие «исполнить глагол, привязанный к данному типу файлов». Для «*.inf» глаголы перечислены в «HKEY_CLASSES_ROOT\inffile\shell».
Предположим, что речь в «запустить 123.inf файл» шла о глаголе «Install» («&Установить»):
Код:
Либо прочитать из реестра содержимое параметра «HKEY_CLASSES_ROOT\inffile\shell\Install\command\(Default)»:
Код:
и запускать «rundll32.exe» напрямую с параметром «[/i]\123.inf» самому.
Предположим, что речь в «запустить 123.inf файл» шла о глаголе «Install» («&Установить»):
Код:
Код: Выделить всё
Option Explicit
Dim objShell
Dim objFolder
Dim objFolderItem
Set objShell = WScript.CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace("E:\Песочница\0126")
If Not objFolder Is Nothing Then
Set objFolderItem = objFolder.ParseName("123.inf")
If Not objFolderItem Is Nothing Then
objFolderItem.InvokeVerb "Install"
Set objFolderItem = Nothing
Else
WScript.Echo "Can't find [123.inf] in [E:\Песочница\0126]"
End If
Set objFolder = Nothing
Else
WScript.Echo "Can't find [E:\Песочница\0126]"
End If
Set objShell = Nothing
WScript.Quit 0Либо прочитать из реестра содержимое параметра «HKEY_CLASSES_ROOT\inffile\shell\Install\command\(Default)»:
Код:
Код: Выделить всё
%SystemRoot%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %1и запускать «rundll32.exe» напрямую с параметром «[/i]\123.inf» самому.
-
O L E G
Re: VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта
Большое спс, Хорошо когда есть такие люди)
-
O L E G
Re: VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта
Появилась одна Проблемка для меня.
Скрипт и Inf файл находятся в одной папке, к примеру F:\Scripts\ на флешке, к подключению к разным компам буква меняется и VBS перестает находит inf файл.Возможно указать VBS путь, что бы он проверял только папку Scripts на наличие файла inf ?
Скрипт и Inf файл находятся в одной папке, к примеру F:\Scripts\ на флешке, к подключению к разным компам буква меняется и VBS перестает находит inf файл.Возможно указать VBS путь, что бы он проверял только папку Scripts на наличие файла inf ?
-
Iska
Re: VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта
O L E G, следующий скрипт будет искать одноимённый файл «*.inf», расположенный в той же папке, что и сам скрипт (например: «e:\Temp\123.vbs» будет пытаться найти «e:\Temp\123.inf»):
Код:
Код:
Код: Выделить всё
Option Explicit
Dim strFolder
Dim strFile
Dim objShell
Dim objFolder
Dim objFolderItem
With WScript.CreateObject("Scripting.FileSystemObject")
strFolder = .GetParentFolderName(WScript.ScriptFullName)
strFile = .GetBaseName(WScript.ScriptName) & ".inf"
End With
Set objShell = WScript.CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(strFolder)
If Not objFolder Is Nothing Then
Set objFolderItem = objFolder.ParseName(strFile)
If Not objFolderItem Is Nothing Then
objFolderItem.InvokeVerb "Install"
Set objFolderItem = Nothing
Else
WScript.Echo "Can't find [" & strFile & "] in [" & strFolder & "]"
End If
Set objFolder = Nothing
Else
WScript.Echo "Can't find [" & strFolder & "]"
End If
Set objShell = Nothing
WScript.Quit 0-
O L E G