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

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

Ответить
Настройки темы
CMD/BAT - bat который будет дописывать строки в конец файла

Пользователь


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

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


помогите создать .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
Благодарности: 8086

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


Вставьте первой строкой:
Код: Выделить весь код
>>"d:\123.txt" echo.

Отправлено: 13:56, 10-06-2014 | #2



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

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


Ветеран


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

Профиль | Отправить 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
Благодарности: 1

Профиль | Отправить 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
123.txt
Код: Выделить весь код
file 123
запустил 22.bat
и файл 123.txt так и остался не тронутым а по идеи должно было получится
Код: Выделить весь код
file 123
tekst tekst tekst tekst
tekst tekst tekst tekst tekst tekst tekst
tekst tekst tekst
tekst tekst tekst tekst

Последний раз редактировалось infoman1@vk, 10-06-2014 в 16:05.


Отправлено: 15:59, 10-06-2014 | #4


Ветеран


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

Профиль | Отправить 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
Благодарности: 1

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


супер то что нужно

Отправлено: 16:57, 10-06-2014 | #6


Ветеран


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

Профиль | Отправить 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
Благодарности: 0

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


а как сделать так так чтобы скрипт рекурсивно искал по маске файла(*.txt ) и дописывал в конец строку текста?

Отправлено: 20:31, 11-07-2014 | #8


Ветеран


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

Профиль | Отправить 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
Благодарности: 0

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


Большое спасибо,все работает.

Отправлено: 22:21, 11-07-2014 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход