CMD/BAT - [решено] Замена строк.

Аватара пользователя
angel_lyucifer

CMD/BAT - [решено] Замена строк.

Сообщение angel_lyucifer »

Привет всем, есть файл config.xml в нём куча строк.

Мне нужно заменить строки



Код:

На



Код:

И



Код:

На



Код:

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



Код:

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

setlocal EnableDelayedExpansion
set filename=%AppData%\Skype\%SLOGIN%\config.xml :Это путь к файлу.
set $filename=%TEMP%\new.txt
for /f "tokens=1* delims=]" %%A in ('find /v /n "" ^
Аватара пользователя
x0r

Re: CMD/BAT - [решено] Замена строк.

Сообщение x0r »

CMD/BAT - [решено] Поиск замена текста




Вообще, такие скрипты пишутся для случаеd поиска и замены во многих файлах сразу. Если файл один, то хороший редактор с регулярками (AkelPad, Sublime, Notepad++, Syn2 ,... тысячи их) быстрей, удобней и проще.
Аватара пользователя
megaloman

Re: CMD/BAT - [решено] Замена строк.

Сообщение megaloman »

angel_lyucifer, Если можно, представьте Ваш файл упаковав его, например, winrar. Какие строки удаляются? А vbs-скрипт справляется успешно?

Мой конфиг обработался успешно
Вложения
config.rar
(12.95 КБ) 0 скачиваний
config.rar
(12.95 КБ) 0 скачиваний
Аватара пользователя
x0r

Re: CMD/BAT - [решено] Замена строк.

Сообщение x0r »

Наверно нужно экранировать символы?
Аватара пользователя
angel_lyucifer

Re: CMD/BAT - [решено] Замена строк.

Сообщение angel_lyucifer »

Наверно нужно экранировать символы?
Аватара пользователя
megaloman

Re: CMD/BAT - [решено] Замена строк.

Сообщение megaloman »

Цитата megaloman:



rem Set "File=Z:\Box_In\config.xml"
CMD/BAT - [решено] Замена строк.




Поясните пожалуйста, зачем нужна эта строка?
Аватара пользователя
angel_lyucifer

Re: CMD/BAT - [решено] Замена строк.

Сообщение angel_lyucifer »

Цитата angel_lyucifer:



Поясните пожалуйста, зачем нужна эта строка?
CMD/BAT - [решено] Замена строк.




Эта строка не работает, она закомментирована (rem .....). Естественно, я не хотел отлаживать скрипт на своём живом рабочем файле, поэтому сделал его копию в этом месте. А не удалил строку - это Вам намёк, что можно точно так же сделать копию Вашего рабочего файла и тестировать скрипты, прописав отладочный путь и убрав коммент (rem). Точно так же и в VBS-скрипте: там тоже есть отладочные закомментированные строки. Кстати, переменной %SLOGIN% у меня не существует. Тем более мне надо иметь свой отладочный путь.
Аватара пользователя
megaloman

Re: CMD/BAT - [решено] Замена строк.

Сообщение megaloman »

Цитата megaloman:



@Echo Off SetLocal EnableExtensions EnableDelayedExpansion Set "File=%AppData%\Skype\%SLOGIN%\config.xml" rem Set "File=Z:\Box_In\config.xml" Set "Rep1=^0^" Set "Rep2=^0^" >"%File%.bat.tmp" (FOR /F "usebackq delims=" %%s IN (`More "%File%"`) DO Echo %%s) Set /A N1=0,N2=0,NN=0 FOR /F "usebackq Skip=2 delims=[]" %%n IN (`Find /N "1" "%File%.bat.tmp"`) DO Set N1=%%n FOR /F "usebackq Skip=2 delims=[]" %%n IN (`Find /N "1" "%File%.bat.tmp"`) DO Set N2=%%n >"%File%" (FOR /F "usebackq delims=" %%s IN (`More "%File%.bat.tmp"`) DO ( Set /A NN+=1 If Not !NN! EQU %N1% If Not !NN! EQU %N2% Echo %%s If !NN! EQU %N1% Echo %Rep1% If !NN! EQU %N2% Echo %Rep2% )) DEL "%File%.bat.tmp" 2>NUL
CMD/BAT - [решено] Замена строк.




Данный скрипт работает но не адекватно.

Он из файла удаляет определённые важные строки...
Аватара пользователя
angel_lyucifer

Re: CMD/BAT - [решено] Замена строк.

Сообщение angel_lyucifer »

Цитата megaloman:



переменной %SLOGIN% у меня не существует.
CMD/BAT - [решено] Замена строк.




Ее создаёт другой мой скрипт, в переменной %SLOGIN% хранится логин от Skype...
Ответить

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