|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - bat который будет дописывать строки в конец файла |
|
CMD/BAT - bat который будет дописывать строки в конец файла
|
Пользователь Сообщения: 61 |
помогите создать .bat который будет дописывать строки в конец файла. даже если нет переноса строки, то всеравно писать с начала строки.
в файл d:\123.txt дописать с новой строки tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst что то на подоби етого но он не работает For /F "tokens=*" %%i In (d:\123.txt) Do Echo %%i. tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst tekst >tmp.txt Copy /y tmp.txt 123.txt>Nul Del tmp.txt |
|
Отправлено: 13:44, 10-06-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:56, 10-06-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать @echo off for /f %%i in (' find /c /v ""^<"123.txt" ') do ( set m=%%i ) for /f "delims=:" %%i in (' findstr /n $ "123.txt" ') do ( set n=%%i ) if not %m%==%n% ( echo.>>"123.txt" ) for %%i in ( "tekst tekst tekst tekst " "tekst tekst tekst tekst tekst tekst tekst " "tekst tekst tekst " "tekst tekst tekst tekst " ) do ( echo %%~i>>"123.txt" ) exit /b |
Отправлено: 14:55, 10-06-2014 | #3 |
Пользователь Сообщения: 61
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
Код: @echo off for /f %%i in (' find /c /v ""^<"123.txt" ') do ( set m=%%i ) for /f "delims=:" %%i in (' findstr /n $ "123.txt" ') do ( set n=%%i ) if not %m%==%n% ( echo.>>"123.txt" ) for %%i in ( "tekst tekst tekst tekst " "tekst tekst tekst tekst tekst tekst tekst " "tekst tekst tekst " "tekst tekst tekst tekst " ) do ( echo %%~i>>"123.txt" ) exit /b вовсе ничего не делает я создал 2 файла 22.bat @echo off for /f %%i in (' find /c /v ""^<"123.txt" ') do ( set m=%%i ) for /f "delims=:" %%i in (' findstr /n $ "123.txt" ') do ( set n=%%i ) if not %m%==%n% ( echo.>>"123.txt" ) for %%i in ( "tekst tekst tekst tekst " "tekst tekst tekst tekst tekst tekst tekst " "tekst tekst tekst " "tekst tekst tekst tekst " ) do ( echo %%~i>>"123.txt" ) exit /b запустил 22.bat и файл 123.txt так и остался не тронутым а по идеи должно было получится |
Последний раз редактировалось infoman1@vk, 10-06-2014 в 16:05. Отправлено: 15:59, 10-06-2014 | #4 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать @echo off for /f %%i in (' find /c /v ""^<"123.txt" ') do ( set m=%%i ) for /f "delims=:" %%i in (' findstr /n $ "123.txt" ') do ( set n=%%i ) if not "%m%"=="%n%" ( echo.>>"123.txt" ) for %%i in ( "tekst tekst tekst tekst " "tekst tekst tekst tekst tekst tekst tekst " "tekst tekst tekst " "tekst tekst tekst tekst " ) do ( echo %%~i>>"123.txt" ) exit /b |
|
Отправлено: 16:12, 10-06-2014 | #5 |
Пользователь Сообщения: 61
|
Профиль | Отправить PM | Цитировать супер то что нужно
|
Отправлено: 16:57, 10-06-2014 | #6 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать infoman1@vk, вот так ещё точнее:
@echo off ( for /f %%i in (' find /c /v ""^<"123.txt" ') do ( set m=%%i ) )|| set m=0 ( for /f "delims=:" %%i in (' findstr /n $ "123.txt" ') do ( set n=%%i ) )|| set n=0 if %n% lss %m% ( echo.>>"123.txt" ) for %%i in ( "tekst tekst tekst tekst " "tekst tekst tekst tekst tekst tekst tekst " "tekst tekst tekst " "tekst tekst tekst tekst " ) do ( echo %%~i>>"123.txt" ) exit /b |
Отправлено: 00:19, 11-06-2014 | #7 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать а как сделать так так чтобы скрипт рекурсивно искал по маске файла(*.txt ) и дописывал в конец строку текста?
|
Отправлено: 20:31, 11-07-2014 | #8 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать @echo off for /r "D:\Test" %%i in (*.txt) do ( ( for /f %%j in (' find /c /v ""^<"%%i" ') do ( set m=%%j ) )|| set m=0 ( for /f "delims=:" %%j in (' findstr /n $ "%%i" ') do ( set n=%%j ) )|| set n=0 for /f "tokens=1,2" %%j in (' call echo %%m%% %%n%% ') do ( if %%k lss %%j ( echo.>>"%%i" ) ) chcp 1251>nul for /f "eol= delims=" %%j in ("строка текста") do ( chcp 866>nul echo %%j>>"%%i" ) ) exit /b |
Последний раз редактировалось Georgio, 11-07-2014 в 22:43. Отправлено: 21:45, 11-07-2014 | #9 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Большое спасибо,все работает.
|
Отправлено: 22:21, 11-07-2014 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Создание bat который будет создавать другой bat для создания 3 | root13 | Скриптовые языки администрирования Windows | 5 | 27-10-2013 15:46 | |
CMD/BAT - как сделать *.bat который будет копировать мой внешний дин-й мой ip и вст-ь с заменой | ***b.m.m.c.b*** | Скриптовые языки администрирования Windows | 0 | 12-05-2012 13:22 | |
CMD/BAT - [решено] Запуск bat-файла от имени админа.Как сделать каталог этого bat-файла текущим?? | axmed0207 | Скриптовые языки администрирования Windows | 1 | 19-01-2012 06:14 | |
CMD/BAT - [решено] Нужен Bat-ник который будет удалять файлы в папке с определенным расширением | intersk | Скриптовые языки администрирования Windows | 19 | 23-06-2011 11:49 | |
CMD/BAT - [решено] Нужен Bat-ник который будет искать слово в текстовом файле .txt | Alexzander_bas | Скриптовые языки администрирования Windows | 10 | 06-06-2011 16:51 |
|