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

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

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

Новый участник


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

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


Изменения
Автор: Nilf
Дата: 22-06-2021
Описание: Т 9
Здравствуйте уважаемые старожилы!

Тут такая задача нарисовалась, если в двух словах, то необходимо получить программку, в диалоговом окне которой вводиться текст, который в последующем должен заменить собой определенное слово в текстовом файле. Т.е. стартовала программа, мы нажали кнопочку, условно "замена", ввели текст и нажали "ок", и данный текст заменил собой одно из слов в необходимом текстовом файлике.

Также есть необходимость запуска командного файла (по итогу это тот файл в котором будет произведена замена текста) через кнопку в этом же маленьком приложении". Как такую штуку можно реализовать?

Отправлено: 07:44, 22-06-2021

 

Ветеран


Contributor


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

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


Цитата:
который в последующем должен заменить собой определенное слово в текстовом файле
Как определено это слово? Что такое слово, чем оно ограничено: пробелами, например. Иначе как избежать, например, при замене слова "красный" замены куска в слове прекрасный.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 11:37, 22-06-2021 | #2



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

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


Новый участник


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

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


Понял, сейчас тогда конкретный пример на рассмотрение.

"net user test /add
net localgroup Администраторы test /add
net localgroup Administrators test /add"

Вот пример CMD'шника "ADD Admin User.cmd", он просто создает юзера с именем "test", именно это имя я бы и хотел поменять на указываемое в ином скрипте.

Сама суть этого заключается в том, чтобы удаленно создать пользователя посредствам WMIC на удаленной машине.
"wmic /node:"192.168.168.168" process call create "C:\Temp\GG\ADD User Admin.cmd"" запуском вот такого скрипта.

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

Надеюсь доступно объяснил, спасибо что откликнулись!

Отправлено: 11:51, 22-06-2021 | #3


Новый участник


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

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


Даже получается проще.

wmic /node:"192.168.31.2" process call create "cmd /c net user test /add"
wmic /node:"192.168.31.2" process call create "cmd /c net localgroup Администраторы test /add"

Вот тут надо будет по итогу заменить IP и имя пользователя "test".

Отправлено: 13:02, 22-06-2021 | #4


Аватара для Elven

Ветеран


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

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


поменять IP на %1, а имя пользователя в bat'нике на %2. И батник запускать соответственно приблизительно так:
Код: Выделить весь код
batnik "192.168.31.2" "TestUser"
гуглить "Позиционные параметры bat"
и ничего не надо заменять.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:47, 22-06-2021 | #5


Ветеран


Contributor


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

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


Даже получается проще. Пусть у Вас есть File.bat
Код: Выделить весь код
@Echo Off
cls
	If "%1"=="" (Echo Start You bat-file with paramrters: %~nx0 "ip" "user" &Pause &Exit /B 2)
	If "%2"=="" (Echo Start You bat-file with paramrters: %~nx0 "ip" "user" &Pause &Exit /B 2)

	Echo wmic /node:"%~1" process call create "cmd /c net user %~2 /add"
	Echo wmic /node:"%~1" process call create "cmd /c net localgroup Администраторы %~2 /add" 
pause
Exit /B 0
Тогда ничего переименовывать не надо: запустим его с параметрами, например:

File.bat 192.168.31.2 test
Для реальной работы удалите красные Echo

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 22-06-2021 в 15:04.

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

Отправлено: 14:48, 22-06-2021 | #6


Ветеран


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

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


Цитата Nilf:
необходимо получить программку, в диалоговом окне которой вводиться текст, который в последующем должен заменить собой определенное слово в текстовом файле. Т.е. стартовала программа, мы нажали кнопочку, условно "замена", ввели текст и нажали "ок", и данный текст заменил собой одно из слов в необходимом текстовом файлике.
Также есть необходимость запуска командного файла (по итогу это тот файл в котором будет произведена замена текста) через кнопку в этом же маленьком приложении". »
Держите эту «программку»: Notepad++.

Цитата Nilf:
Даже получается проще.
wmic /node:"192.168.31.2" process call create "cmd /c net user test /add"
wmic /node:"192.168.31.2" process call create "cmd /c net localgroup Администраторы test /add" »
Ещё проще:
Код: Выделить весь код
wmic.exe /node:"192.168.31.2" Process call create "net.exe user test /add"
wmic.exe /node:"192.168.31.2" Process call create "net.exe localgroup Администраторы test /add"
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:11, 22-06-2021 | #7


Новый участник


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

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


Всем спасибо господа!

Получилось както так вот:

Батник создания пользователя

Код: Выделить весь код
wmic /user:"%username%" /password:"%password%"/node:"%IP%" process call create "cmd /c net user %newuser% /add"
wmic /user:"%username%" /password:"%password%"/node:"%IP%" process call create "cmd /c net user %newuser% %newpass%"
wmic /user:"%username%" /password:"%password%"/node:"%IP%" process call create "cmd /c net localgroup Администраторы %newuser% /add"
wmic /user:"%username%" /password:"%password%"/node:"%IP%" process call create "cmd /c net localgroup Administrators %newuser% /add"
pause
Стартовый батник

Код: Выделить весь код
@echo 
echo Введите имя пользователя
set /p username=
echo .
 
echo Введите пароль
set /p password=
echo .
 
echo Введите адресс
set /p IP=
echo .

echo Введите имя нового пользователя
set /p newuser=
echo .

echo Введите пароль нового пользователя
set /p newpass=

 
call test.bat %username% %password% %IP% %newuser% %newpass%
Iska, сразу внимание не обратил на поправку, обязательно внесу, спасибо!

Отправлено: 07:15, 23-06-2021 | #8


Новый участник


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

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


Парни, я тут еще навоял чутка, но чет не спешит работать, подскажите пожалуйста, где косяк?

Код: Выделить весь код
@echo off

echo Введите имя пользователя
set /p username=
 
echo Введите пароль
set /p password=

echo Введите имя нового пользователя
set /p newuser=

echo Введите пароль нового пользователя
set /p newpass=

rem количество переменных (ip) считывается из файла
for /f "usebackq" %%S in (`find /c /v ""^<"ip.txt"`) do (set /a NumStr=%%S)

rem забирает в переменную ipinfile значение из файла IP.txt

:M2
if [NOT] NumStr = 0 goto M0
goto M1
:M0
for /f "skip=%NumStr% - 1" %%A IN ("IP.txt") do (set "ipinfile=%%~A"&&goto:M3)
:M3
set /a NumStr = NumStr - 1

wmic /user:"%username%" /password:"%password%"/node:"%ipinfile%" process call create "cmd /c net user %newuser% /add"
wmic /user:"%username%" /password:"%password%"/node:"%ipinfile%" process call create "cmd /c net user %newuser% %newpass%"
wmic /user:"%username%" /password:"%password%"/node:"%ipinfile%" process call create "cmd /c net localgroup Администраторы %newuser% /add"
wmic /user:"%username%" /password:"%password%"/node:"%ipinfile%" process call create "cmd /c net localgroup Administrators %newuser% /add"

goto M2
:M1
pause

Последний раз редактировалось Nilf, 24-06-2021 в 15:03.


Отправлено: 07:16, 24-06-2021 | #9



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - замена строки в текстовом файле. modzilla Скриптовые языки администрирования Windows 12 10-10-2017 12:29
Любой язык - Невозможно выполнить замену текста в текстовом файле CyraxZ Скриптовые языки администрирования Windows 3 28-11-2016 02:20
CMD/BAT - Поиск и замена текста в файле Дмитрий_Кульгейко@vk Скриптовые языки администрирования Windows 20 12-07-2016 20:01
Любой язык - Сложная замена текста в файле niverprof Скриптовые языки администрирования Windows 11 22-12-2014 11:45
CMD/BAT - Замена пробелов на %20 в текстовом файле Strato Скриптовые языки администрирования Windows 4 11-03-2014 13:16




 
Переход