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

Компьютерный форум 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

 

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

Старожил


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

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


Цитата Oleg48:
примеры неработают, там вроде все просто. »
Они срабатывают, только если в файле изначально есть хоть какой-то текст.

Отправлено: 15:52, 09-04-2012 | #11



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

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


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

Старожил


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

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


Хм... Я придумал, как обойти проблему. Можно создать файл с одним символом, допустим с "-", потом воспользоваться скриптами из темы
Цитата Morpheus:
CMD/BAT - [решено] как дописать текст в текстовой файл »
а потом удалить этот "-". Собсно вопрос: как из блокнота удалить один конкретный символ?

Отправлено: 16:48, 09-04-2012 | #12


Ветеран


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

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


Raf-9600, создавайте пустой файл:
Код: Выделить весь код
>nul copy nul file.txt

Отправлено: 17:49, 09-04-2012 | #13


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

Старожил


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

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


Цитата Iska:
создавайте пустой файл: »
Создание пустого файла, это не настолько важна проблема как:
1. Добавление текста в первую строчку файла, вне зависимости от того пустой он или нет. (Т.е. НЕ с новой строки)
2. Удаление одного конкретного символа из файла.
Если бы одну из этих проблем решить, было бы очень круто (^_^)

Отправлено: 18:06, 09-04-2012 | #14


Аватара для Oleg48

Старожил


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

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


Raf-9600, сделал через "точку"
Код: Выделить весь код
@Echo Off  
set fail=123.txt  
set tekct=Этот текст надо дописать  
IF NOT exist %fail% (echo .>%fail%)  
For /F "tokens=*" %%i In (%fail%) Do Set ti=%%i  
Set new=%ti:.=%  
Set new=%new%%tekct%  
Echo %new%>123.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:15, 09-04-2012 | #15


Ветеран


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

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


Raf-9600, для удовлетворения подобных требований пакетные файлы без использования сторонних утилит не слишком годятся. Рассмотрите вопрос о переходе к WSH/PoSH.

2Oleg48:
1. Зачем Вы добавляете в конец почти каждой строки пакетного файла по два пробела?
2. Проверьте, например, Ваш код на таком файле:
Код: Выделить весь код
He.ll.o Wo.r.ld!
He.ll.o Wo.r.ld!
и посмотрите, во что он превратится.

Отправлено: 19:17, 09-04-2012 | #16


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

Старожил


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

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


Цитата Oleg48:
сделал через "точку" »
То, что нужно! Благодарю.

Цитата Iska:
для удовлетворения подобных требований пакетные файлы без использования сторонних утилит не слишком годятся. Рассмотрите вопрос о переходе к WSH/PoSH. »
Честно говоря, я это и предполагал, поэтому создал эту тему в другом разделе, но модераторам показалось, что батники меня спасут, и они перенесли её сюда

Отправлено: 19:26, 09-04-2012 | #17


Ветеран


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

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


Цитата Raf-9600:
поэтому создал эту тему в другом разделе, но модераторам показалось, что батники меня спасут, и они перенесли её сюда »
Спасибо, ясно. Возможно, потому, что изначально не все требования ТЗ были озвучены.

Отправлено: 20:57, 09-04-2012 | #18


Аватара для Morpheus

Ветеран


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

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


Можно и без точек.
Код: Выделить весь код
@Echo Off
set file=D:\123.txt
set text=text

For /F "tokens=*" %%i In (%file%) Do Set ti=%%i%text%
if "%ti%"=="" (
echo %text%>%file%
) else (
echo %ti%>%file%
)
pause

Отправлено: 22:33, 09-04-2012 | #19


Ветеран


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

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


Morpheus, то же — в файле остаётся одна строка.

Отправлено: 23:00, 09-04-2012 | #20



Компьютерный форум 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




 
Переход