Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 16.11.2020
Сообщений: 70

Многофункциональный скрипт (изменение реестра, замена текста в VBS скрипте и тд)

23.05.2022, 10:47. Показов 5285. Ответов 36
Метки reg, txt, vbs (Все метки)

Студворк — интернет-сервис помощи студентам
Я пытался справится без помощи) Но с одной проблемой я бы все равно не справился, поэтому решил попросить помочь и с другой сложностью.

У меня есть скрипт, его задача заключается в том что бы:
Завершить процесс
Заменить данные в реестре
Поменять текст в скриптах (то есть изменить другой скрипт VBS с помощью скрипта)
Потом запустить завершенный процесс

Дело в том что мне все нужно в одном скрипте.
Но файл не запускается, только завершается, если все оставить в одном скрипте. Наверно из-за моментального действия скрипта.

Так же я не справился с заменой текста в определенных файлах. В общем вот скрипт.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CreateObject("Shell.Application").ShellExecute "taskkill", "/f /t /im ClubClient.exe",, "runas", 0
 
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{8B481271-40F1-4180-A5E1-27871CBC970A}User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\1", "C:\Program Files\Windows Setting\Client\Client_PC02\ClubClient.exe", "REG_SZ"
 
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{8B481271-40F1-4180-A5E1-27871CBC970A}User\Software\Microsoft\Windows\CurrentVersion\Policies\System\Wallpaper", "C:\Program Files\Windows Setting\winOS\Desktop\Desk_PC02.jpg", "REG_SZ"
 
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ClubTimer\Client\num_pc", "2", "REG_DWORD"
 
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files\Windows Setting\Client\Client_PC02\ClubClient.exe""",1
Мне нужно что бы запуск программы происходила с задержкой
А так же, перед запуском этой программы нужно добавить еще скрипт, меняющий определенный текст в документах (VBS)

ПРИМЕР Как должен быть модифицирован скрипт:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CreateObject("Shell.Application").ShellExecute "taskkill", "/f /t /im ClubClient.exe",, "runas", 0
 
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{8B481271-40F1-4180-A5E1-27871CBC970A}User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\1", "C:\Program Files\Windows Setting\Client\Client_PC02\ClubClient.exe", "REG_SZ"
 
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{8B481271-40F1-4180-A5E1-27871CBC970A}User\Software\Microsoft\Windows\CurrentVersion\Policies\System\Wallpaper", "C:\Program Files\Windows Setting\winOS\Desktop\Desk_PC02.jpg", "REG_SZ"
 
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ClubTimer\Client\num_pc", "2", "REG_DWORD"
 
' 'скрпит заменяющий в файле (D:\CYBERNET\Apex Legends.vbs) текст (gameclub_pc002) на (gameclub_pc003)
' скрпит заменяющий в файле (D:\CYBERNET\CSGO.vbs) текст (gameclub_pc002) на (gameclub_pc003)
' и так еще в нескольких файлах
 
' потом создать задержку перед запуском скрипта что ниже
 
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files\Windows Setting\Client\Client_PC02\ClubClient.exe""",1

Надеюсь не перемудрил и все понятно)

Добавлено через 1 минуту
Я думаю что то еще мне потом придется дополнить в скрипте, буду тут просить дальше помощи.
На счет замены текста в нескольких файлах, я нашел скрипт, но не понял как он работает.

Заменить определенный текст в файле .txt для всех файлов в выбранной папке

Дело в том что я дилетант) Каким был и раньше)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2022, 10:47
Ответы с готовыми решениями:

Можно ли изменить значение реестра посредством bat-файла или vbs-скрипта?
Здравствуйте уважаемые форумчане. У меня такая задача есть. Мне нужно из "BAT" либо "VBS" заставить...

Создание бинарного файла из vbs / Как создать exe файл из vbs
Имеется файл с расширением exe. Нужно как-нибудь занести массив байт в скрипт, и чтоб потом этот...

Кодировка VBS - скрипта замены текста в файле по шаблону из Exsel
Здравствуйте! Помогите, пожалуйста доработать скрипт VBS. Пытаюсь заменить в txt файле по шаблону...

36
1 / 1 / 0
Регистрация: 16.11.2020
Сообщений: 70
25.05.2022, 08:04  [ТС]
Студворк — интернет-сервис помощи студентам
Без скрипта меняющего текст, задумка не будет работать.

Все постоянно, логин и пароль меняются
и файлов несколько, в которых надо менять логин и пароль

У меня игровой клуб, там 30 компов. Часто выходят из строя, я устанавливаю все по новой, а данный скрипт превращал бы мои ярлыки, с пустыми паролями и логинами в ярлыки с нужными мне паролями и логинами.

Думаю ты опять не поймешь то чего я хочу достичь.

Ладно, спасибо за предыдущий скрипт. Зачем почему не важно, главное это было нужно. Поищу еще сам. Спасибо еще раз)

Добавлено через 3 минуты
Цитата Сообщение от FlasherX Посмотреть сообщение
А накатывать только ярлыки, которые их вызывают.
Дело в том что ярлыки накатывать мне нельзя, это приводит к тому что они пропадают из меню ПУСК. Что приводит к необходимости отключать запреты на изменение меню пуск, потом закреплять ярлыки туда и включать запреты./
На то и есть скрипты, которые выполняют функции ярлыка с командной строкой -login blabla blabla

Добавлено через 41 секунду
А на эти скрипты уже я сделал ярлыки и закрепил их в ПУСК

Добавлено через 36 секунд
Получается меняя что то в скрипте, для Windows не происходит изменений, а значит ярлыки не пропадают из меню ПУСК. Закрепленные на начальном экране.

Добавлено через 1 минуту
и так, благодаря 30 файлам, в которых я выставлю разные пороли логини и номера всякие, я буду любой ПК превращать в 1 или в 30 или в любой другой нумерации.
1 раз придется заморочиться но на будущее все упростит.

Добавлено через 18 секунд
Ландно, спасибо)

Добавлено через 1 минуту
Цитата Сообщение от FlasherX Посмотреть сообщение
Достаточно их разместить на шаре
и я не знаю что это значит)
0
6999 / 2884 / 1109
Регистрация: 06.06.2017
Сообщений: 9,802
25.05.2022, 08:04
Цитата Сообщение от wolflonesh Посмотреть сообщение
логин и пароль меняются
Даже если так, то тебе останется внести правку в один единственный код на шаре без того геморроя с правкой каждого скрипта, который ты замутил.

Цитата Сообщение от wolflonesh Посмотреть сообщение
А на эти скрипты уже я сделал ярлыки и закрепил их в ПУСК
Переделать 6 штучек - дело нескольких минут.
0
1 / 1 / 0
Регистрация: 16.11.2020
Сообщений: 70
25.05.2022, 08:07  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Переделать 6 штучек - дело нескольких минут.
Разовый гемор который упростит мне на оставшиеся годы жизнь) это не гемор уже.
Гемор это каждый раз с нуля все настройки делать для игрового пк в клюбе. Многе уже автоматизировал, ты помогал не один раз) но сейчас ты прям не хочешь дать мне того что я хочу
Или ты это уже сделал, и я не совсем понимаю как это должно работать.

Мой вариант может и банальнее, немного геморнее, но он делает именно то что мне нужно)
0
6999 / 2884 / 1109
Регистрация: 06.06.2017
Сообщений: 9,802
25.05.2022, 08:08
Цитата Сообщение от wolflonesh Посмотреть сообщение
и я не знаю что это значит)
Общий ресурс. См. NET SHARE и NET USE.
0
1 / 1 / 0
Регистрация: 16.11.2020
Сообщений: 70
25.05.2022, 08:08  [ТС]
Пойду гляну еще разок, что ты мне предложил. Хотя я сомневаюсь что это то что мне нужно) По коду уже понятно что не то)
0
6999 / 2884 / 1109
Регистрация: 06.06.2017
Сообщений: 9,802
25.05.2022, 08:12
Поработай с этим. Если совсем туго будет, дам, что просишь. )
0
1 / 1 / 0
Регистрация: 16.11.2020
Сообщений: 70
25.05.2022, 08:14  [ТС]
Интересная штука это твоя NET SHARE
Цитата Сообщение от FlasherX Посмотреть сообщение
Общий ресурс. См. NET SHARE.
Но немного не то что мне нужно)

Добавлено через 20 секунд
Ладно, попробую сам как то справится)))

Добавлено через 2 минуты
Я вообще не дружу с кодом
Вот делать визуал это да Mansion Хотя и тут я не мастер)
У мня брат любит заниматься кодом, но мне помогать не любит, когда у меня такие непонятки))
0
6999 / 2884 / 1109
Регистрация: 06.06.2017
Сообщений: 9,802
25.05.2022, 08:17
Цитата Сообщение от wolflonesh Посмотреть сообщение
Разовый гемор который упростит мне на оставшиеся годы жизнь)
Какой же он разовый, если
Цитата Сообщение от wolflonesh Посмотреть сообщение
файлов несколько, в которых надо менять логин и пароль

Не по теме:

Цитата Сообщение от wolflonesh Посмотреть сообщение
но мне помогать не любит, когда у меня такие непонятки))
Весёлая у вас семейка. )

0
1 / 1 / 0
Регистрация: 16.11.2020
Сообщений: 70
25.05.2022, 08:28  [ТС]
Прошарил НЕТШЕЙР, все таки думаю это совсем не то что мне нужно.
На самом деле, мне не даются подобные вещи, то что тебе кажется банальным для меня лес неизведанный)

Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от FlasherX Посмотреть сообщение
Весёлая у вас семейка. )
Не, просто мне 33 ему 38. У каждого своих дел хватает, если бы он умел разом выдавать что мне нужно, как ты. Он бы помогал, но у него уровень куда ниже. Просто при желании сел бы и разобрался, а я при всем желании не разберусь :D


Цитата Сообщение от FlasherX Посмотреть сообщение
Какой же он разовый, если
Разовый в смысле, он используется один раз при настройке компьютера. Все, дальше он спит. И так каждый раз при настройке нового компа, используется скрипт (pc001-pc030) который мне нужен и сделает все муторные настройки и все дальше в этом компе все 30 скриптов спят.
а скрипты измененные (apex, csgo, dota2) скриптами (pc001-pc030) работают в качестве командной строки для ярлыков

Добавлено через 3 минуты
А командная строка отдельно нужна что бы не производить изменения в ярлыках, ибо это приводит к необходимости дополнительных действий с моей стороны
0
6999 / 2884 / 1109
Регистрация: 06.06.2017
Сообщений: 9,802
25.05.2022, 08:40
Цитата Сообщение от wolflonesh Посмотреть сообщение
мне не даются подобные вещи
А ты за 10 минут хотел сразу всё понять? Потестируй примеры net share/use. В cmd-разделе их полно, если справочных не хватает.
Цитата Сообщение от wolflonesh Посмотреть сообщение
а я при всем желании не разберусь
Разберёшься. Просто смотри руководства. Нельзя же админить клуб, не зная ключевых команд. )
Цитата Сообщение от wolflonesh Посмотреть сообщение
Разовый в смысле, он используется один раз при настройке компьютера.
Вот эти настройки в разы облегчатся, если сделаешь так, как я пишу. В любом случае коды редактировать придётся, что *.vbs с заменами, что *.wsf. Только *.wsf в отличии от *.vbs ты создашь один раз и больше к ним не притронешься.

Цитата Сообщение от wolflonesh Посмотреть сообщение
А командная строка отдельно нужна что бы не производить изменения в ярлыках
Не понял, о чём речь.
0
1 / 1 / 0
Регистрация: 16.11.2020
Сообщений: 70
25.05.2022, 09:07  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Т. е. нет необходимости что-то менять в скриптах. Достаточно сопоставить ... с именем машины.
Но как это сделает мои ярлыки на начальном экране, именно теми что мне нужно
при условии что в самих ярлыках я не могу делать изменения
а на 1 компе у меня будет работать только один аккаунт
на втором только 2
и так до 30

Добавлено через 3 минуты
и мне всего то нужно, при ПЕРЕУСТАНОВКИ ПК, сделать 1 настройку.
Поменять фоновый рисунок рабочего стола (сделано уже)
Поменять адрес исполняемого файла клиента (сделано уже)
Поменять номер компьютера для программы ClubClient (сделано уже)
Поменять значения логинов и паролей в файлах выполняющих роль командной строки для ярлыков (пока неа)
И это делается 1 раз, при переустановке пк. Дальше, как присвоились эти значения для данного ПК, так они там и остаются. Пока снова не переустановлю ПК и тогда снова применится скрипт, который сделает из моего ПК, ПК001 или ПК025 или ПК030 и тд.

Добавлено через 1 минуту

Не по теме:

Пока я пишу, я тестирю то что ты скинул) Если что, а не просто сижу тут болтаю



Добавлено через 3 минуты
Смотри я понимаю что ты написал код, который сделает список моих поролей и логинов, который скрипт будет брать
Visual Basic
1
2
3
4
5
Select Case CreateObject("WinNTSystemInfo").ComputerName
   Case "PC1" LP = "login1 pass1"
   Case "PC2" LP = "login2 pass2"
   Case "PC3" LP = "login3 pass3"
End Select
Вот он

Но я не совсем понимаю что делает данный скрипт
Visual Basic
1
2
3
<job><script language=VBScript src="C:\Program Files\Windows Setting\Steam\CYBERNET\GetLoginPassForComp.vbs">
CreateObject("WScript.Shell").Run """D:\Games\004 - Launchers\Steam\steam.exe"" -login " & LP & " steam://rungameid/578080")
</script></job>
Он пытается запустить игру.

Добавлено через 4 минуты
А мне нужно что бы он брал пароль и логин из файла GetLoginPassForComp.vbs и подставлял его в файлы в папке CYBERNET (csgo.vbs, dota2.vbs и тд)
То есть, расположение этих файлов не может меняться, так как к ним сделаны ярлыки которые закреплены на начальном экране, которые трогать мне нельзя.
Получается, что что бы на том или ином компе я мог сделать мгновенно из (csgo.vbs, dota2.vbs и тд) команды запускающие нужный мне аккаунт.
На первом компе это будет первый аккаунт
на втором второй и тд
мне нужно именно их отредактировать.
Добавлено через 11 секунд
Может я все еще не до конца понимаю)

Добавлено через 5 минут
Я думаю вся проблема в том что я не могу тебе внятно объяснить то, что мне нужно редактировать файлы в папке (CYBERNET)
да, это скрипты, которые служат неким промежуточным звеном, между Steam.exe и Ярлыком на начальном экране. И Условия таковы что мне нужно именно менять в данных файлах значения паролей и логинов)
0
6999 / 2884 / 1109
Регистрация: 06.06.2017
Сообщений: 9,802
25.05.2022, 09:10
Цитата Сообщение от wolflonesh Посмотреть сообщение
при условии что в самих ярлыках я не могу делать изменения
ярлыки которые закреплены на начальном экране, которые трогать мне нельзя
По какой причине?
Цитата Сообщение от wolflonesh Посмотреть сообщение
Поменять значения логинов и паролей в файлах выполняющих роль командной строки для ярлыков (пока неа)
Вместо 1 файла. О том и речь.
Цитата Сообщение от wolflonesh Посмотреть сообщение
и подставлял его в файлы в папке CYBERNET
Их надо единоразово заменить этими файлами без всяких подстановок.
0
1 / 1 / 0
Регистрация: 16.11.2020
Сообщений: 70
25.05.2022, 09:14  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
По какой причине?
По причине того что, иначе они просто пропадают с начального экрана. Так как Windows воспринимает их как новых ярлыков.

Я придумал, я создам папку, где будет овер до хрена файлов, а скрипт которые копирует файлы с заменой найти не сложно) да это будет выглядеть страшно под капотом, но тебя перестану мучать. А свою задачу выполнять скрипт по итогу будетвыполнять. Создам 30.000 файлов)))))

Добавлено через 51 секунду
Если уж не получается заменить текст в файле, то заменю файл целиком)
0
6999 / 2884 / 1109
Регистрация: 06.06.2017
Сообщений: 9,802
25.05.2022, 09:20
Цитата Сообщение от wolflonesh Посмотреть сообщение
Так как Windows воспринимает их как новых ярлыков.
Звучит как какой-то бред. Подробнее.
0
1 / 1 / 0
Регистрация: 16.11.2020
Сообщений: 70
25.05.2022, 09:25  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Звучит как какой-то бред. Подробнее.
Помнишь видео, там у меня Пуск настроен так что клиенты в нем не будут лазать.
Но если ты зайдешь в ярлык, который отображается на начальном экране и поменяешь что то там, то он пропадет с начального экрана, вернется если ты все вернешь обратно
Получается что я не могу писать к steam.exe -login 2323 23424 так что бы он не пропадал из меню пуск.
Поэтому я создал скрипты, в которых я могу менять значение -login 2323 23424
А на начальном экране стоит ярлык не к стиму, а к скрипту. То что я в скрипте что то меняю не влияет на ярлык. Значит Windows довольна)
0
6999 / 2884 / 1109
Регистрация: 06.06.2017
Сообщений: 9,802
25.05.2022, 09:56
Лучший ответ Сообщение было отмечено wolflonesh как решение

Решение

Цитата Сообщение от wolflonesh Посмотреть сообщение
Но если ты зайдешь ... и поменяешь что то там, то он пропадет с начального экрана
Под "ты" понимается админ или клиент? Если первое, то что-то там явно через одно место настроено. Права доступа?
Цитата Сообщение от wolflonesh Посмотреть сообщение
То что я в скрипте что то меняю не влияет на ярлык.
Ну допустим, сделано левой ногой. Можно и те же vbs исправить (хоть с точки зрения оптимизации это будет хуже).
Windows Batch file
1
2
Execute CreateObject("Scripting.FileSystemObject").OpenTextFile("Z:\Steam\GetLoginPassForComp.vbs").ReadAll
CreateObject("WScript.Shell").Run """D:\Games\004 - Launchers\Steam\steam.exe"" -login " & LP & " steam://rungameid/578080"
Расшариваем на серваке (напр., c именем Server) папку (net share Steam=c:\Steam), потом при накатке выполняем net use z: \\Server\Steam /savecred /persistent:yes.
А файл GetLoginPassForComp.vbs будет правиться уже в обычно режиме.
1
1 / 1 / 0
Регистрация: 16.11.2020
Сообщений: 70
25.05.2022, 09:59  [ТС]
Спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.05.2022, 09:59
Помогаю со студенческими работами здесь

Многофункциональный батник для Windows 10
Вот такое дело - пару лет назад на парах преподаватель отправил мне батник с целым списком...

Сценарий vbs для чтения данных реестра
Необходимо создать сценарий, обеспечивающий чтение из реестра содержимого любого раздела, параметра...

Из vbs результат в реестр
Здравствуйте есть вот такой скрипт Set TypeLib = CreateObject(&quot;Scriptlet.TypeLib&quot;) Wscript.Echo...

VBS: Чтение 64 разрядной ветки реестра
Привет всем. Есть такая функция, которая проверяет наличие того или иного установленного ПО на...

VBS. Удаление ветки реестра
Доброго времени суток. Вопрос по VBScript. Подскажите как удалить раздел реестра если он содержит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru