![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как добавить текст в середину текстрового файла |
|
CMD/BAT - Как добавить текст в середину текстрового файла
|
Новый участник Сообщения: 9 |
Есть текстовый файл 1.txt:
__________________________ aaa [paste] ccc __________________________ К примеру [paste] нужно заменить на bbb, при этом пустые строки должны остаться (FOR /F не помог) |
|
Отправлено: 09:54, 04-01-2010 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Foreigner, виденные мною примеры были куда как длиннее (там, конечно, было не только чтение, а весь набор операций по чтению, записи, созданию, удалению файла, секций, параметров и значений). Не скажу, что увиденное мною выглядело наглядно, скорее наоборот.
|
Отправлено: 10:28, 23-04-2011 | #41 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 474
|
Профиль | Отправить PM | Цитировать For /F "Tokens=2*" %%I In ('Reg Query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /V Personal') Do Set Personal=%%J start "" /wait "nircmd.exe" inisetval "%AppData%\Opera\Opera\operaprefs.ini" "User Prefs" "Download Directory" "%Personal%\Закачки" Как решить проблему с кодировкой, чтобы было F:\Мои документы\Закачки |
Отправлено: 14:07, 03-04-2012 | #42 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Доброго времени суток.
Помогите, пожалуйста. Задача: изменить текст в txt-файле. Решение: @echo off cls setlocal enabledelayedexpansion :: указываем файл set file=.\WEB-INF\classes\tops\unicus\resources\unicus.properties :: ввести строку для поиска set /p search=[enter text to search] :: ввести строку для замены set /p change=[enter the text to change] @echo off setlocal enabledelayedexpansion set COUNT=0 :: ищем строку и заменяем for /F "usebackq tokens=*" %%s in (!file!) do ( set LINE=%%s ::замена текущей строки set TMPR=!LINE:%search%=%change%! ::добавляем строку к временному файлу Echo.!TMPR!>>TMP.TXT ) :: Делаем резервное копирование исходного файла, на случай что что то пойдет не так… copy %file% %file%.bak :: Заменяем исходный файл временным move TMP.TXT %file% Пробовала разные варианты, результат одинаковый: текст меняет и пустые строки удаляет. Подскажите, пожалуйста, что делаю неправильно? Заранее спасибо. |
Последний раз редактировалось AdBes, 06-02-2014 в 17:59. Причина: орфографическая ошибка Отправлено: 17:41, 06-02-2014 | #43 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать @echo off :: указываем файл set file=.\web-inf\classes\tops\unicus\resources\unicus.properties :: ввести строку для поиска set /p search=[enter text to search] :: ввести строку для замены set /p change=[enter the text to change] for /f %%i in ('find /c /v ""^<"%file%"') do set n=%%i ( for /l %%i in (1 1 %n%) do ( set LINE= set /p "LINE=" if defined LINE call set /p"=%%LINE:%search%=%change%%%"<nul if %%i==%n% goto exit echo. ) )<"%file%">tmp.txt :exit :: делаем резервное копирование исходного файла copy "%file%" "%file%.bak">nul :: заменяем исходный файл временным move tmp.txt "%file%">nul exit /b |
Отправлено: 19:29, 06-02-2014 | #44 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Georgio, Большое спасибо.
Разбирала написанный Вами код, и к сожалению, не смогла найти ответы на некоторые возникшие вопросы. Буду очень благодарна, если Вы на них ответите. Разбор строки Вопросы:
Разбор строки Вопрос:
Разбор строки Вопрос:
Разбор строки Вопрос:
Разбор строки Вопросы:
Заранее спасибо. |
Отправлено: 13:05, 07-02-2014 | #45 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата AdBes:
Цитата find.exe /?:
Цитата AdBes:
Цитата AdBes:
Цитата AdBes:
Цитата for /?:
Цитата AdBes:
Цитата AdBes:
( for /l %%i in (1 1 %n%) do ( set LINE= set /p "LINE=" if defined LINE call set /p"=%%LINE:%search%=%change%%%"<nul if %%i==%n% goto exit echo. ) )<"%file%">tmp.txt Цитата AdBes:
целиком. Она распадается на две команды — собственно вызов «call» и вычисляемая при его вызове подкоманда «set /p"=%LINE:«Здесь вычисленное при вызове call значение переменной окружения «search»»=«Здесь вычисленное при вызове call значение переменной окружения «change»»%"<nul». Цитата AdBes:
Цитата AdBes:
Констатируя, можем сказать, что в данном случае вся строка: означает примерно следующее: Цитата:
|
||||||||||||
Отправлено: 13:58, 07-02-2014 | #46 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Iska, большое спасибо.
|
Отправлено: 11:28, 10-02-2014 | #47 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
ALTLinux - Как наложить на JPG текст (дата создания файла) | user51 | Общий по Linux | 6 | 30-06-2008 15:37 | |
[решено] как добавить путь к текущей директории в reg файл из bat файла ? | mitiya | Автоматическая установка приложений | 7 | 27-03-2008 16:12 | |
Как искать в поисковиках, еисли я не помню середину слова | taras.v | Хочу все знать | 5 | 12-03-2008 06:41 | |
Разное - [решено] Как в список "Символы" добавить собственные символы для вставки в текст | T-IIIJ | Microsoft Windows 2000/XP | 4 | 23-02-2008 16:27 | |
Как добавить текст в свое сообщение? | Vadikan | О сайте и форуме | 4 | 17-10-2002 07:55 |
|