|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Регистрация и разрегистрация DLL одним bat |
|
|
CMD/BAT - Регистрация и разрегистрация DLL одним bat
|
Старожил Сообщения: 345 |
Профиль | Отправить PM | Цитировать Уважаемые, как прописать в одном bat регистрацию и разрегистрацию DLL??
т.е. при запуске проверяется зарегистрирована ли DLL, если да - разрегистрировать, если нет - зарегистрировать. |
|
Отправлено: 10:15, 21-06-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Покажите результат исполнения под:
Цитата y--:
|
|
Отправлено: 15:51, 21-06-2017 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 231
|
Профиль | Отправить PM | Цитировать Iska
выполнял такой код: regsvr32.exe "C:\Program Files (x86)\1cv8\8.3.9.2170\bin\comcntr.dll" /u /s && echo Errorlevel is 0 ||echo Errorlevel NOT 0 Для зарегистрированной библиотеки: C:\Program Files (x86)\1cv8\8.3.9.2170\bin>regsvr32.exe "C:\Program Files (x86)\1cv8\8.3.9.2170\bin\comcntr.dll" /u /s && echo Errorlevel is 0 || echo Errorlevel NOT 0 Errorlevel NOT 0 |
------- Отправлено: 16:03, 21-06-2017 | #22 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:13, 21-06-2017 | #23 |
Старожил Сообщения: 231
|
Профиль | Отправить PM | Цитировать Iska
На Win7 поведение другое - Unreg всегда выдает успех... А так 2012 - тот же 8.1 по ядру - значит 8.0 проверять надо... |
------- Отправлено: 16:17, 21-06-2017 | #24 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:30, 21-06-2017 | #25 |
Старожил Сообщения: 172
|
Профиль | Отправить PM | Цитировать Идеальный вариант для контекстного меню был бы на подобие этого скрипта
т.к в контекстном меню будет одна строка и значение её будет меняться в зависимости от результата. Только здесь пункт в меню прописан для рабочего стола и папок, а сделать как в предложенном .bat только для .dll Скрытый текст
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell") ' Если скрипт запущен с каким-то параметром, то... If WScript.Arguments.Count>0 Then ' Проверяем значение в реестре и в зависимости от него либо отображаем скрытые папки, либо наоборот убираем. If WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden") = 1 then ' Скрываем папки WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden", "0", "REG_DWORD" WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", "2", "REG_DWORD" ' Добавляем пункт в контекстное меню ' В поле command прописываем путь до текущего скрипта с параметром (не важно каким, главное, чтобы он был), чтобы.. ' ..скрипт понял, что ему нужно не удалить ветку реестра, а изменить WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\SuperHidden\", "Показать скрытые файлы", "REG_SZ" WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\SuperHidden\command\", "WScript.exe """&WScript.ScriptFullName&""" -argument", "REG_SZ" ' Обновляем окно эксплорера, чтобы увидеть результат WSHShell.SendKeys "{F5}" Else ' Скрываем папки WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden", "1", "REG_DWORD" WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", "1", "REG_DWORD" ' Добавляем пункт в контекстное меню WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\SuperHidden\", "Не показывать скрытые файлы", "REG_SZ" WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\SuperHidden\command\", "WScript.exe """&WScript.ScriptFullName&""" -argument", "REG_SZ" ' Обновляем окно эксплорера, чтобы увидеть результат WSHShell.SendKeys "{F5}" End If Else ' Если запись в реестре есть, то удаляем наш раздел If WSHShell.Run("cmd.exe /C REG QUERY ""HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\SuperHidden""", 0, True)=0 Then WSHShell.Run "cmd /C REG DELETE ""HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\SuperHidden"" /f", 0 Else ' Иначе запускаем этот скрипт с параметром (какой параметр - значения не имеет, главное его наличие) WSHShell.Run """"&WScript.ScriptFullName&""" -argument" ' И ещё добавим иконочку для красоты WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\SuperHidden\Icon", "%SystemRoot%\System32\shell32.dll,69", "REG_SZ" End If End if Set WSHShell = Nothing WScript.Quit(0) |
Отправлено: 17:24, 25-06-2017 | #26 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Службы - Пропадает регистрация DLL | Maza11 | Microsoft Windows 2000/XP | 4 | 18-02-2014 19:18 | |
Разное - регистрация dll | tj-9 | Программирование и базы данных | 3 | 02-04-2013 17:43 | |
Регистрация *.dll | SiNiK | Хочу все знать | 3 | 29-06-2012 14:28 | |
CMD/BAT - [решено] регистрация группы DLL | astrolit | Скриптовые языки администрирования Windows | 1 | 13-12-2011 11:19 | |
Разное - [решено] регистрация DLL | ya.dever | Microsoft Windows 7 | 3 | 02-07-2011 05:46 |
|