![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Замена строчек в файл txt |
|
CMD/BAT - [решено] Замена строчек в файл txt
|
![]() Старожил Сообщения: 175 |
Привет всем!
У меня есть только один файл 1.txt он содержит много строчек английских и русских, среди них есть одна строка #sound_on_vlp только её нужно заменить на #sound_off_vlp при запуске батника. А другие строки оставались неизменными и в таком же порядке... Я нашёл на вашем форуме похожую тему, но в той теме приведённый пример не подходит. http://forum.oszone.net/thread-198866.html Пожалуйста помогите, создать такой батник? |
|
------- Отправлено: 22:08, 04-12-2013 |
Ветеран Сообщения: 1759
|
SharkyEXE, Не совсем понятно зачем такая мудреная схема. Возникает несколько вопросов:
1. Где должны быть 1.cmd и 1.txt 2. Зачем копировать батник если его можно запустить и получить результат 3. Откуда берется 1.txt 4. Откуда запускается батник, который должен все это сделать Обрисуйте вашу задачу в целом. |
Отправлено: 16:11, 27-02-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Foreigner
1.cmd - в этом файле один раз прописывается код Я не имею желания каждый раз прописывать Ваши строки в командной строке для изменения файла 1.txt - это изменяемый файл Путь к файлу 1.txt указывается внутри файла 1.cmd Я запускаю файл 1.cmd и получаю измененный файл 1.txt Итого, если проще, должно быть так: 1) в Вашем коде указывается путь полный путь C:\Program Files\AkelPadmax_port\1.txt Путь C:\Program Files\AkelPadmax_port\1.txt - это файл, в котором будем делать замену строк 2) содержимое файла C:\Program Files\AkelPadmax_port\1.txt до Скрытый текст
4) содержимое файла C:\Program Files\AkelPadmax_port\1.txt после |
Последний раз редактировалось SharkyEXE, 27-02-2015 в 16:30. Отправлено: 16:24, 27-02-2015 | #12 |
Ветеран Сообщения: 1759
|
Цитата SharkyEXE:
![]() |
|
Отправлено: 16:30, 27-02-2015 | #13 |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Foreigner
А нельзя, пожалуйста, без call сделать, типа такого: |
Отправлено: 16:35, 27-02-2015 | #14 |
Ветеран Сообщения: 1759
|
|
Отправлено: 16:42, 27-02-2015 | #15 |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Foreigner
А можно, пожалуйста, сделать так, чтобы AltLineFill было с пробелом, вот так Alt Line Fill + добавить переменные Типа такого, код не работает: Скрытый текст
@echo off Set PathReplaceFile C:\Users\---\Desktop\1.txt Set PathTmpFile C:\Users\---\Desktop\tmp.txt Rem Заменяемая строка, после = любое содержимое Set Input Alt Line Fill = Rem На что меняем Set Output Alt Line Fill=0 setlocal for /f "tokens=*" %%i in ('type "%PathReplaceFile%"') do ( 1>nul set "%%~i" 1>>"%PathTmpFile%" ( if defined "%Input%" (echo "%Output%") else (echo %%i) {что тут писать не знаю} )) move "%PathTmpFile%" "%PathReplaceFile%" |
Последний раз редактировалось SharkyEXE, 27-02-2015 в 17:06. Отправлено: 16:50, 27-02-2015 | #16 |
Ветеран Сообщения: 1759
|
|
Отправлено: 17:12, 27-02-2015 | #17 |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Foreigner
А можно, пожалуйста, добавить переменные Типа такого, код не работает: Скрытый текст
@echo off Set PathReplaceFile = "C:\Users\---\Desktop\1.txt" Set PathTmpFile = "C:\Users\---\Desktop\tmp.txt" Rem Заменяемая строка Set Input = "Alt Line Fill" Rem На что меняем Set Output = "Alt Line Fill=0" setlocal for /f "tokens=*" %%i in ('type "%PathReplaceFile%"') do ( 1>nul 2>&1 set "%%~i" 1>>"%PathTmpFile%" ( 1>nul 2>&1 set "%Input%" && (echo "%Output%") || (echo %%i) set "%Input%=" )) move "%PathTmpFile%" "%PathReplaceFile%" |
Последний раз редактировалось SharkyEXE, 27-02-2015 в 17:29. Отправлено: 17:22, 27-02-2015 | #18 |
Ветеран Сообщения: 1759
|
SharkyEXE, Ставьте задачу полностью с самого начала, от этого зависит ответ:
|
Отправлено: 17:38, 27-02-2015 | #19 |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Foreigner
Для Вашего примера не работает пустые строки в файле. Если Ваш пример запустить для файла с таким содержимым Скрытый текст
[1213] {пустая строка} DialogType=1 DockAutoload=1 Alt Line Fill=28 SaveRelative=1 SaveOnExitEnable=1 SaveSessions=1 WindowRect=52010000270100005C0200008A010000 ModalDialogEnable=0 Alt Line Fill=398 SaveData=2039 [6498] {пустая строка} DialogType=1 DockAutoload=1 Alt Line Fill=28 SaveRelative=1 SaveOnExitEnable=1 SaveSessions=1 WindowRect=52010000270100005C0200008A010000 ModalDialogEnable=0 Alt Line Fill=398 SaveData=2039 {пустая строка} {пустая строка} Скрытый текст
[1213]= DialogType=1 DockAutoload=1 Alt Line Fill=0 SaveRelative=1 SaveOnExitEnable=1 SaveSessions=1 WindowRect=52010000270100005C0200008A010000 ModalDialogEnable=0 Alt Line Fill=0 SaveData=2039 [6498]= DialogType=1 DockAutoload=1 Alt Line Fill=0 SaveRelative=1 SaveOnExitEnable=1 SaveSessions=1 WindowRect=52010000270100005C0200008A010000 ModalDialogEnable=0 Alt Line Fill=0 SaveData=2039 {пустая строка} |
Отправлено: 13:42, 01-03-2015 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Замена текста в txt | Starter1 | Скриптовые языки администрирования Windows | 17 | 04-08-2022 18:26 | |
CMD/BAT - Замена строки в txt файле | Сергей_Першин@vk | Скриптовые языки администрирования Windows | 0 | 07-06-2012 14:56 | |
CMD/BAT - Замена и добавление числа в txt файле | Tsok | Скриптовые языки администрирования Windows | 0 | 17-10-2011 17:22 | |
CMD/BAT - Сравнение и замена в файлах .txt | Deep2007 | Скриптовые языки администрирования Windows | 4 | 19-11-2010 19:08 | |
нужно переделать файл doc в файл txt | гала | Тест-форум | 1 | 15-01-2010 18:53 |
|