VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта

Ответить
Аватара пользователя
O L E G

VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта

Сообщение O L E G »

Подскажите как мне запустить 123.inf файл из под VBS скрипта автоматом
Аватара пользователя
Iska

Re: VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта

Сообщение Iska »

O L E G, для не исполняемых файлов нет понятия «запустить». Для них применимо понятие «исполнить глагол, привязанный к данному типу файлов». Для «*.inf» глаголы перечислены в «HKEY_CLASSES_ROOT\inffile\shell».



Предположим, что речь в «запустить 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 »

Большое спс, Хорошо когда есть такие люди)
Аватара пользователя
O L E G

Re: VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта

Сообщение O L E G »

Появилась одна Проблемка для меня.

Скрипт и Inf файл находятся в одной папке, к примеру F:\Scripts\ на флешке, к подключению к разным компам буква меняется и VBS перестает находит inf файл.Возможно указать VBS путь, что бы он проверял только папку Scripts на наличие файла inf ?
Аватара пользователя
Iska

Re: VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта

Сообщение Iska »

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
Ответить

Вернуться в «Скриптовые языки администрирования Windows»