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

Ответить
Аватара пользователя
Nilf

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

Сообщение Nilf »

Здравствуйте уважаемые старожилы!



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



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

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

Сообщение megaloman »

Цитата:



который в последующем должен заменить собой определенное слово в текстовом файле



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

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

Сообщение Nilf »

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



"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, я бы хотел сделать возможность запрашивать вводимые параметры заранее.



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

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

Сообщение 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"



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

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

Сообщение Elven »

поменять IP на %1, а имя пользователя в bat'нике на %2. И батник запускать соответственно приблизительно так:



Код:

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

batnik "192.168.31.2" "TestUser"

гуглить "Позиционные параметры bat"

и ничего не надо заменять.
Аватара пользователя
megaloman

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

Сообщение megaloman »

Даже получается проще. Пусть у Вас есть 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
Аватара пользователя
Iska

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

Сообщение Iska »

Цитата Nilf:



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

Также есть необходимость запуска командного файла (по итогу это тот файл в котором будет произведена замена текста) через кнопку в этом же маленьком приложении".
VBS/WSH/JS - [решено] Замена текста в текстовом файле посредствам вода через диалоговое окно




Держите эту «программку»:
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"
VBS/WSH/JS - [решено] Замена текста в текстовом файле посредствам вода через диалоговое окно




Ещё проще:



Код:

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

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"
Аватара пользователя
Nilf

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

Сообщение Nilf »

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



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



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





Код:

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

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, сразу внимание не обратил на поправку, обязательно внесу, спасибо!
Аватара пользователя
Nilf

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

Сообщение Nilf »

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



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

@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
Ответить

Вернуться в «Скриптовые языки администрирования Windows»