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

Показать сообщение отдельно

Ветеран


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

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


Цитата in-com:
…но сохранять значение не хочет. »
Так Вы ж её в реестр и не пишете.

Цитата in-com:
А можно сделать, чтобы отдельный скрипт искал и удалял уже существующую подстроку «chkdsk;» в любом месте строки, прописанной в строковом параметре «SubCommands»? »
Вот ещё одна примерная болванка кода:
Скрытый текст
Код: Выделить весь код
Option Explicit

Const HKEY_CLASSES_ROOT = &H80000000


Dim objSWbemObjectEx

Dim strValue


Set objSWbemObjectEx = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\default").Get("StdRegProv")

If objSWbemObjectEx.GetStringValue(HKEY_CLASSES_ROOT, "CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\CompMgmt", "SubCommands", strValue) = 0 Then
	If UBound(Filter(Split(strValue, ";"), "chkdsk", True, vbTextCompare)) = 0 Then
		strValue = Replace(Replace(Replace(strValue, "chkdsk;", ""), ";chkdsk", ""),"chkdsk", "")
		
		If objSWbemObjectEx.SetStringValue(HKEY_CLASSES_ROOT, "CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\CompMgmt", "SubCommands", strValue) = 0 Then
			WScript.Echo "Set string value successfully."
		Else
			WScript.Echo "Can't set string value."
		End If
	Else
		WScript.Echo "String value not contains substring."
	End If
Else
	WScript.Echo "Can't find subkey or parameter."
End If

WScript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:34, 13-10-2018 | #8