Замена текста в текстовом файле посредствам вода через диалоговое окно
Здравствуйте уважаемые старожилы!
Тут такая задача нарисовалась, если в двух словах, то необходимо получить программку, в диалоговом окне которой вводиться текст, который в последующем должен заменить собой определенное слово в текстовом файле. Т.е. стартовала программа, мы нажали кнопочку, условно "замена", ввели текст и нажали "ок", и данный текст заменил собой одно из слов в необходимом текстовом файлике.
Также есть необходимость запуска командного файла (по итогу это тот файл в котором будет произведена замена текста) через кнопку в этом же маленьком приложении". Как такую штуку можно реализовать?
|
Цитата:
который в последующем должен заменить собой определенное слово в текстовом файле
|
Как определено это слово? Что такое слово, чем оно ограничено: пробелами, например. Иначе как избежать, например, при замене слова "красный" замены куска в слове прекрасный.
|
Понял, сейчас тогда конкретный пример на рассмотрение.
"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, я бы хотел сделать возможность запрашивать вводимые параметры заранее.
Надеюсь доступно объяснил, спасибо что откликнулись!
|
Даже получается проще.
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".
|
поменять IP на %1, а имя пользователя в bat'нике на %2. И батник запускать соответственно приблизительно так:
Код:
batnik "192.168.31.2" "TestUser"
гуглить "Позиционные параметры bat"
и ничего не надо заменять.
|
Даже получается проще. Пусть у Вас есть 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
|
Цитата:
Цитата 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"
|
Всем спасибо господа!
Получилось както так вот:
Батник создания пользователя
Код:
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, сразу внимание не обратил на поправку, обязательно внесу, спасибо!
|
Парни, я тут еще навоял чутка, но чет не спешит работать, подскажите пожалуйста, где косяк?
Код:
@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
|
Время: 23:42.
© OSzone.net 2001-