|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - работа со строками, а именно редактирование строк в текстовом файле |
|
CMD/BAT - работа со строками, а именно редактирование строк в текстовом файле
|
Новый участник Сообщения: 4 |
Привет всем!
Помогите мне, пожалуйста, в следующем вопросе. Мне необходимо написать батник, и возникла проблема в следующем вопросе. В батнике должна осуществляться работа со строками, а именно редактирование строк в текстовом файле. Для этого мне необходимо присвоить строки данного файла, но строки содержат символы "=" и ковычки. Из-за данных символов батник работает некорректно. Подскажите пожалуйста как можно осуществить присвоение длинного имени с этими символами? очень надеюсь на вашу помощь ![]() |
|
Отправлено: 13:02, 17-10-2014 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Vlad_705, выложите на форум Ваш текстовый файл в архиве и опишите подробно, что Вы хотите с ним делать.
|
Отправлено: 13:14, 17-10-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Georgio,
Вложил архив, в котором 2 файла: батник и документ Web.config (открываю через блокнот). в документе много строчек, которые необходимо заменить, конструкцию написания батника вроде как я освоил. но возникла проблема, как видно в файле строчки имеют очень сложный состав символов, с "=" и кавычками (""), из-за этого возникает проблема поиска строк в файле (из-за "=", переприсваивании переменной). Я думаю есть какой-нибудь синтаксис для корректного написания такой длинной переменной (как то обособляя всю переменную например: <add key="OikIporterGetDataFromXml" value="true" /> вот такая строка с различными символами и батнику необходимо ее найти и например удалить, в других случаях исправить какое-нибудь значение в этой строке, но батник ее не находит из-за символа "=" ) помогите, пожалуйста, исправить эту проблему, или как-нибудь обойти ее иначе |
Отправлено: 15:15, 17-10-2014 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Vlad_705:
|
|
Отправлено: 05:18, 18-10-2014 | #4 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Iska, нет это не web.config википедия.
Задача в следующем, приходит обновление ПО c config, который необходимо автоматизированно исправить. В config который скинул я, отражены некоторые моменты которые нужно исправить. Пронумерованные строчки сделал я, поскольку наглядно удалос проследить правилность написание кода. В идеале номерации строчек в далнейшем не будет, т.е на них основываться нелзя. Чтобы осуществить данную задачу, как я понимаю, необходимо работать со сторой в целом, т.е необходимо присвоить целую строку одной переменной , но загвостка в том что в переменной символы "=" и ковычки, в связи с чем код не корректно работает. помогите, пожалуйста, в решении данной проблемы. (присвоении целой строки одной переменной , или возможно решит задачу иначи) т.е как я привел в примере, например: set str5=add key="LocalEnterprise" в данном присвоении некоректно заданна переменная. может как то можно обособит ее с помощю синтаксиса, например set str5=[add key="LocalEnterprise"] ребята помогите, пожалуйста. |
|
Отправлено: 20:30, 19-10-2014 | #5 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Подскажите, поалуйста, процедуру, которая позволяет пробегаться по всему тексту файла (конфига) и находить символ "=" и заменять его например на букву Z.
setlocal enabledelayedexpansion for /F "tokens=* delims=," %%n in (!infile!) do ( set LINE=%%n set LINE=!LINE: (поставив его сюда) @echo !LINE!>>Web_new.config ) endlocal если получится я обязателно поделюсь и напишу что получилось. Очен надеюсь на вашу помощь ![]() |
Отправлено: 21:00, 19-10-2014 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Vlad_705:
|
|
Отправлено: 22:46, 19-10-2014 | #7 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать @echo off set "in=Web.config" set "out=Web_new.config" echo Install PAK "Redy" @>"%out%" ( for /f "usebackq delims=" %%i in ("%in%") do @( for /f "tokens=1-6 delims== " %%j in ("%%i") do @( ( for %%p in ( "CompanyProperty company" "UseDemoEss 0" "SaveEssData false" "CrmXmlSourceFilesUsing false" "OikIporterGetDataFromXml false" ) do @( for /f "tokens=1,2" %%q in (%%p) do @( if "%%l"==""%%q"" ( echo %%j %%k=%%l %%m="%%r" %%o ) ) ) )& ( if "%%j"=="<windousAuthentication" ( echo %%j %%k="true" %%m ) )& ( if "%%k"=="name" ( for /f "delims=" %%s in ("< />") do @( echo %%s ) ) )& ( if "%%j"==""Domains"" ( echo %%j= "cdu,oducn,oducz,odusb,odusv,oduur,oduvs,oduyu" ) )& ( if "%%j"=="description" ( echo company ) ) ) )| findstr "^"|| ( echo %%i ) ) echo COMPLETED exit /b |
Последний раз редактировалось Georgio, 20-11-2014 в 21:50. Отправлено: 17:26, 20-10-2014 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление строк в текстовом файле, как это сделать??? | VladZombie | Скриптовые языки администрирования Windows | 70 | 08-09-2020 13:28 | |
VBS/WSH/JS - Изменение времени строк в текстовом файле на определенную величину | RadioSys | Скриптовые языки администрирования Windows | 6 | 31-07-2012 20:22 | |
CMD/BAT - Подсчет количества строк в текстовом файле | sl1mus | Скриптовые языки администрирования Windows | 3 | 28-06-2012 21:29 | |
VBS/WSH/JS - Поиск\редактирование строки в текстовом файле | pavvel | Скриптовые языки администрирования Windows | 2 | 11-04-2012 16:38 | |
В текстовом файле 1500 строк и 14 слов отображаются крякозябрами | kigerman | Хочу все знать | 9 | 26-03-2012 10:10 |
|