Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Добавление текста

Ответить
Настройки темы
CMD/BAT - [решено] Добавление текста

Аватара для Raf-9600

Старожил


Сообщения: 398
Благодарности: 21

Профиль | Отправить PM | Цитировать


Изменения
Автор: Raf-9600
Дата: 10-04-2012
Описание: Нужно чтобы
Собстно мне необходимо добавить пару слов в txt файл, но без использования GUI. Т.е. условно "через батник". Такое возможно?

Нужно чтобы:
1. Текст добавлялся в первую свободную строку (т.е. НЕ с новой строчки).
2. Чтобы скрипт срабатывал, даже если текста в файле изначально нет (он может быть, а может и не быть).
3. Не удалял уже существующий текст в файле (если в нем есть текст)
4. Чтобы если файла не существует, скрипт его создавал (это не критично)

Отправлено: 00:24, 05-04-2012

 

Аватара для Oleg48

Старожил


Сообщения: 158
Благодарности: 17

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar DOP_TXT.rar
(261 байт, 8 просмотров)

Вот мой оригинальный скрипт, в нем только добавлена строка
Код: Выделить весь код
SETLOCAL enabledelayedexpansion
в нужном месте
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:00, 10-04-2012 | #41



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для Raf-9600

Старожил


Сообщения: 398
Благодарности: 21

Профиль | Отправить PM | Цитировать


Oleg48, Да, вроде бы работает как надо. Ошибка возникает только если вначале добавляемого текста поставить точку с запятой ( ; ). Это реально как-то обойти?..

Отправлено: 01:05, 10-04-2012 | #42


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


Raf-9600, задайте какой-нибудь символ, с которого ваша строчка не может начинаться:
Код: Выделить весь код
@Echo Off
set file=D:\123.txt
set text=text

For /F "eol=' tokens=*" %%i In (%file%) Do Set ti=%%i%text%
if "%ti%"=="" (
echo %text%>%file%
) else (
echo %ti%>%file%
)
pause
Точка с запятой просто по умолчанию обозначает начало комментария и такие строки пропускаются. Символ можно переназначить.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:13, 10-04-2012 | #43


Аватара для Oleg48

Старожил


Сообщения: 158
Благодарности: 17

Профиль | Отправить PM | Цитировать


Raf-9600,
Код: Выделить весь код
set tekct=^;Этот_текст_надо_дописать
срабатывает только один первый раз когда файла еще нет

Отправлено: 01:15, 10-04-2012 | #44


Аватара для Raf-9600

Старожил


Сообщения: 398
Благодарности: 21

Профиль | Отправить PM | Цитировать


Цитата Oleg48:
срабатывает только один первый раз когда файла еще нет »
Даже без символа ( ^ ) тоже в первый раз срабатывает, а вот на второй и третий немного глючит... а на остальные срабатывает %)

Цитата Morpheus:
задайте какой-нибудь символ, с которого ваша строчка не может начинаться »
Вот это вроде бы подходит. Спасибо огромное!

Отправлено: 01:22, 10-04-2012 | #45


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


Raf-9600, пожалуйста!

Отправлено: 01:31, 10-04-2012 | #46


Аватара для Oleg48

Старожил


Сообщения: 158
Благодарности: 17

Профиль | Отправить PM | Цитировать


Morpheus, все работает, сказал спасибо, мне вроде и ненадо, а может когда пригодится.
Цитата Morpheus:
eol=' »
Интересный ключик

А все таки, такой скрипт, но с добавлением текста в конец многострочного текстового файла, кто-нибудь сваяет?

Отправлено: 01:40, 10-04-2012 | #47


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


Цитата Oleg48:
Интересный ключик »
Самое интересное, какой бред написан в справке.
XP:
Цитата:
eol=c Specifies an end of line character (just one character).
...
for /F "eol=; tokens=2,3* delims=," %i in (myfile.txt) do @echo %i %j %k
This command parses each line in Myfile.txt, ignoring lines that begin with a semicolon and ...
http://www.microsoft.com/resources/d....mspx?mfr=true

7:
Цитата:
eol=c - specifies an end of line comment character
eol=c - знак начала комментария в конце строки
- вообще вынос мозга.

Цитата Oleg48:
А все таки, такой скрипт, но с добавлением текста в конец многострочного текстового файла, кто-нибудь сваяет? »
А если оно никому не нужно, то стоит ли тратить силы?

Отправлено: 02:08, 10-04-2012 | #48



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Добавление текста

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочие БД - [решено] FireBird 1.5 добавление нового юзера через Gsec shape Программирование и базы данных 0 07-03-2012 13:20
2003/XP/2000 - [решено] MS Word: добавление цвета в меню выделение текста цветом AlexM Microsoft Office (Word, Excel, Outlook и т.д.) 4 05-03-2010 06:13
[решено] Диалог открытия файла + добавление текста в существующий лейбл D_Master AutoIt 8 13-02-2009 22:16
Доступ - [решено] [решено] Изменение прав доступа на файл через консоль staubnull Microsoft Windows 2000/XP 0 17-01-2009 13:04
администрирование через консоль lime Microsoft Windows 2000/XP 17 07-02-2003 12:45




 
Переход