VBS Script

Обсужнение только OS Windows XP

Модератор: NetSkipper

Правила форума
Администрация не несет ответственности за размещенные на этом форуме сообщения.
Если сообщения как то ущемляют Ваши права, обратитесь к администрации, и информация будет удалена с форума. Категорически запрещается выкладывать линки на продукцию Майкрософт!
Нарушители будут наказаны, в соответствии с общими правилами форума.
Сообщения и темы, которые не будут соответствовать тематике раздела, будут удаляться.
Аватара пользователя
danygug
Пользователь
Сообщения: 2492
Зарегистрирован: 21.11.2004, 22:58
smartphone: Нет
Откуда: от туда... же
Поблагодарили: 1 раз

VBS Script

Сообщение danygug »

Привет,

Нужен VBS скрипт который определит букву системного диска SYSTEMDRIVE и добавит в registry

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"Stage1"="SYSTEMDRIVE:\\temp\\stage1.cmd"

есть программеры?
HTC
Аватара пользователя
igor7
Пользователь
Сообщения: 3182
Зарегистрирован: 13.01.2007, 11:43
smartphone: HTC ONE
Откуда: Israel

Даритель

Сообщение igor7 »

danygug,
Тебе обязательно нужен SYSTEMDRIVE? А что если это будет %windir%?
Если тебя устроит, то я и сам напишу такой скрипт. Если нет, нужно будет немного покопаться...
Homo hominis lupus est. Ipso factum!
N_T
Пользователь
Сообщения: 325
Зарегистрирован: 16.11.2006, 13:51
Благодарил (а): 2 раза

Сообщение N_T »

script.bat 8-)

Код: Выделить всё

@echo off
set Key=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
REG ADD %Key% /V Stage1 /D "%systemdrive%\temp\stage1.cmd" /f
Аватара пользователя
igor7
Пользователь
Сообщения: 3182
Зарегистрирован: 13.01.2007, 11:43
smartphone: HTC ONE
Откуда: Israel

Даритель

Сообщение igor7 »

N_T,
Конечо же, - "%systemdrive%"!! Что-то я затупил :roll: ... Вот такой же VBS скрипт:

Код: Выделить всё

Const HKEY_CURRENT_USER = &H80000001

strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
 
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Run"


strValueName = "Stage1"
strValue = "%systemdrive%\temp\stage1.cmd"
objRegistry.SetStringValue HKEY_CURRENT_USER, strKeyPath, strValueName, strValue

WScript.Echo "Stage1 value is set" 
Параметр strComputer = "." обозначает локальный компютер. Для удаленного нужно будет заменить его на strComputer = "\\Имя компа"
Homo hominis lupus est. Ipso factum!
Аватара пользователя
danygug
Пользователь
Сообщения: 2492
Зарегистрирован: 21.11.2004, 22:58
smartphone: Нет
Откуда: от туда... же
Поблагодарили: 1 раз

Сообщение danygug »

N_T,
через батник я и сам умею :) спасибо.
кстати через батник (ибо из под доса) %systemdrive% обрабатывается нормально и в регистр пишется буква, а с vbs будет посложнее ;)

igor7,
в регистр должно записаться
"Stage1"="С:\\temp\\stage1.cmd" , а не "Stage1"="SYSTEMDRIVE:\\temp\\stage1.cmd"

при условии что SYSTEMDRIVE = С.

Добавлено спустя 22 минуты 50 секунд:
поясню задачу ...

среда обитания windows xp
скрипт должен определить букву системного диска (C,D,E,F И и так далее)
и подставлять ее в формулу "Stage1"="буква системного диска:\\temp\\stage1.cmd"
потом получившееся, напрмер если система на диске с, добавить в регистр

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"Stage1"="С:\\temp\\stage1.cmd"

скрипт будет использоваться в автоматической установке хрюши
системный диск можно определить встроеной функцией в vbscript (не знаю какой ...)
или посмотреть откуда стартует сам это vbscript, его место расположение будет системный диск:\temp\script_name.vbs

Добавлено спустя 6 минут 30 секунд:
igor7,
такого результата

Изображение
я добился он меня не устраивает потомучто винда при старте не обрабатывает %systemdrive% из regestry соответственно нужна жесткая привязка к букве :)
HTC
N_T
Пользователь
Сообщения: 325
Зарегистрирован: 16.11.2006, 13:51
Благодарил (а): 2 раза

Сообщение N_T »

Заново писать лень, поэтому подправлю скрипт Игоря:

Код: Выделить всё

Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
Set WshShell = CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment("Process")
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Run"
strValueName = "Stage1"
strvalue = WshEnv.Item("systemdrive")&"\temp\stage1.cmd"
objRegistry.SetStringValue HKEY_CURRENT_USER, strKeyPath, strValueName, strValue
WScript.Echo "Stage1 value is set"


PS у тебя там кое-где стоят двойные бэк-слеши. Думаю, что ты описался, но если нет, то подправь скрипт сам.
Аватара пользователя
danygug
Пользователь
Сообщения: 2492
Зарегистрирован: 21.11.2004, 22:58
smartphone: Нет
Откуда: от туда... же
Поблагодарили: 1 раз

Сообщение danygug »

а может учебнечик какой нибудь по vbs у кого нибудь завалялся? :oops: (в электронном виде конечно)
HTC
Аватара пользователя
igor7
Пользователь
Сообщения: 3182
Зарегистрирован: 13.01.2007, 11:43
smartphone: HTC ONE
Откуда: Israel

Даритель

Сообщение igor7 »

danygug,
Учебника у меня нет, но сам я пользуюсь коллекцией скриптов с объяснениями что там к чему. Рекомендую:
http://rapidshare.com/files/161930892/v ... rchive.chm
Homo hominis lupus est. Ipso factum!
N_T
Пользователь
Сообщения: 325
Зарегистрирован: 16.11.2006, 13:51
Благодарил (а): 2 раза

Сообщение N_T »

igor7 писал(а):Учебника у меня нет
Аналогично, к сожалению...

PS
Да... За скрипт - пожалуйста. Не стоит благодарностей. Всегда рад помочь! :jokingly:
Аватара пользователя
danygug
Пользователь
Сообщения: 2492
Зарегистрирован: 21.11.2004, 22:58
smartphone: Нет
Откуда: от туда... же
Поблагодарили: 1 раз

Сообщение danygug »

спасибо спасибо , буду обращаться, будем :drinks: :D
HTC
laronov
Пользователь
Сообщения: 356
Зарегистрирован: 12.02.2007, 19:43
smartphone: Samsung S8
Откуда: Разведка

Участник покетовки

Сообщение laronov »

Помоему хорошая библиотека:
Скрытый текст
Для просмотра скрытого текста необходимо быть авторизованным пользователем.
Samsung S8,Samsung S6 Edge 64Gb,Samsung Galaxy S5 DUOS,Samsung Galaxy SIV,Samsung Galaxy S3,Samsung Galaxy S2,HTC Touch HD2,HTC Touch HD,HTC Touch Cruise,Mio A701
Ответить

Вернуться в «Windows XP»