Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта

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

Аватара для O L E G

Старожил


Сообщения: 284
Благодарности: 16


Конфигурация

Профиль | Отправить PM | Цитировать


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

Отправлено: 17:00, 11-03-2012

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


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» напрямую с параметром «<путь>\123.inf» самому.
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:36, 12-03-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для O L E G

Старожил


Сообщения: 284
Благодарности: 16

Профиль | Отправить PM | Цитировать


Большое спс, Хорошо когда есть такие люди)

-------
Сложность программы растет до тех пор, пока не превысит способности программиста.


Отправлено: 09:29, 12-03-2012 | #3


Аватара для O L E G

Старожил


Сообщения: 284
Благодарности: 16

Профиль | Отправить PM | Цитировать


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

-------
Сложность программы растет до тех пор, пока не превысит способности программиста.


Отправлено: 10:01, 12-03-2012 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


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
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:25, 12-03-2012 | #5


Аватара для O L E G

Старожил


Сообщения: 284
Благодарности: 16

Профиль | Отправить PM | Цитировать


ОК спасибо все работает

-------
Сложность программы растет до тех пор, пока не превысит способности программиста.


Отправлено: 11:19, 12-03-2012 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Запуск Inf файла из под VBS скрипта

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Запуск скрипта vbs из GP teleonomic Windows Server 2008/2008 R2 0 06-12-2011 11:32
CMD/BAT - Копирование папки и запуск VBS-скрипта на удаленных машинах Fill_Good_Inc Скриптовые языки администрирования Windows 3 16-05-2011 04:40
2008 - Scheduler запуск vbs скрипта по расписанию. Venberg Windows Server 2008/2008 R2 1 10-02-2010 17:41
Запуск vbs-скрипта в php Jonik-Mnimonik Вебмастеру 1 10-08-2009 11:43
[решено] Запуск AutoIt- ом на исполнение INF файла gvshil AutoIt 2 24-06-2009 12:12




 
Переход