|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Ведение лога. Нумерация записей. Смещение записи при появлении новой. |
|
|
CMD/BAT - [решено] Ведение лога. Нумерация записей. Смещение записи при появлении новой.
|
Пользователь Сообщения: 63 |
Допустим при запуске компа запускается батник записывающий в file.txt дату запуска (или же дату на момент выполнения батника). Дата просто для примера вместо неё может быть запись(копирование) содержимого файла.
Как выполнить подобные записи в лог file.txt таким образом, чтобы каждая новая запись появлялась на новой строчке? в идеале получить файл с таким по виду содержанием (информация может быть любой, но сейчас просто на примере даты): 1=20.11.2017 2=21.11.2017 3=23.11.2017 4=24.11.2017 5=25.11.2017 Возможно до 10 строк если пяти мне окажется мало. Но самое важное перезаписывать последнюю строку, а содержимое смещать вверх на одну строчку, то есть значение 5= переместиться на 4=, а 4= на 3=, в итоге значение 1= исчезает так как устаревает. |
|
Отправлено: 16:49, 20-11-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата NLOLegion:
Цитата NLOLegion:
set sLogFile=c:\Temp\MyLog.log >>"%sLogFile%" echo bla-bla-bla1 >>"%sLogFile%" echo bla-bla-bla2 >>"%sLogFile%" echo bla-bla-bla3 Цитата NLOLegion:
Цитата NLOLegion:
И как совместить несовместимое в виде «перезаписывать последнюю строку» и «смещать вверх на одну строчку»?! Либо перезаписывать, либо «выталкивать» первую строку в небытие. |
||||
Отправлено: 17:07, 20-11-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
Цитата Iska:
Цитата Iska:
Представьте что вам нужно помнить только 5 последних вопросов и по мере их поступления помнить именно 5 последних вопроса. Следовательно ранние надо выбрасывать. Как бы вы Iska, это реализовали? |
||||
Отправлено: 07:39, 21-11-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата NLOLegion:
Цитата NLOLegion:
Цитата NLOLegion:
Проще говоря, мне надо видеть и понимать Вашу задачу, а не тупо пытаться реализовать выбранное Вами её частичное решение в виде очереди. |
|||
Отправлено: 11:05, 21-11-2017 | #4 |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать Iska, задача простая. Компьютер записывает через микрофон всё что может распознать и записывает это в txt файл. Каждый запрос перезаписывает предыдущий. Я их собираю в один лог. вашим методом:
set sLogFile=C:\1\file.txt set /p ansver=<C:\1\1.txt >>"%sLogFile%" echo %ansver% Моя цель создать память, но помнить нужно не все, а 5-10 вопросов. Пока решил остановиться на 5. Нужно их постоянно смещать. Всё более чем банально - работа с очередью. Sed подобное может сделать, но очень криво и не красиво. |
|
Отправлено: 11:52, 21-11-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата NLOLegion:
|
|
Отправлено: 12:34, 21-11-2017 | #6 |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать Iska, отправил в гул аудиофайл - получил строчку
|
Отправлено: 14:36, 21-11-2017 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать NLOLegion, мне, к сожалению, это почти ни о чём не говорит. Вы могли бы пояснить подробно?
|
Последний раз редактировалось Iska, 21-11-2017 в 16:40. Причина: Добавил пропущенную букву. Отправлено: 14:52, 21-11-2017 | #8 |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать set sLogFile=C:\1\file.txt
set /p ansver=<C:\1\1.txt >>"%sLogFile%" echo %ansver% В C:\1\1.txt одна строчка. с любым содержанием. Содержание перезаписывается различными батниками. Ну например есть батник который очищает корзину, и после этой очистки он записывает в этот C:\1\1.txt строчку "была очищена корзина". Это содержание перезаписывается в лог C:\1\file.txt. Надо чтобы хранились Последние 5 записей с сохранением порядка поступления. |
Отправлено: 15:04, 21-11-2017 | #9 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать NLOLegion,
вы так и не понимаете и сами свою задачу и не понимаете Iska например этот код если обнаружит при запуске в файле "file.txt" наличие 5й строки, то удалит первую (самую старую) и допишет фразу "Zapis", которая станет 5й строкой, но этот код не управляет процессом записи, а должен. Он должен давать команду на запись, если строк менее 5ти, а если достигли - удалять первую и дозаписывать. Такое реализовать можно, но надо знать что за строки пишутся, как именно, с какой интенсивностью, по одной или может несколько при этом bat должен всегда дежурить с проверкой или проверять на момент запуска. Как видите и с моей стороны тоже вопросов не один. |
Отправлено: 18:00, 21-11-2017 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Ведение лога запускаемых программ | rosalin | Скриптовые языки администрирования Windows | 12 | 02-10-2014 13:58 | |
Мультимедиа - ПО для записи с микрофона при появлении звука | santey007 | Программное обеспечение Windows | 4 | 06-06-2014 20:05 | |
Bandwith/Quota - Windows. Контроль URL, ведение лога в прозрачн.режиме. Чем? | Barit | Сетевые технологии | 2 | 11-03-2013 11:38 | |
CMD/BAT - [решено] Различные варианты исполнения по выбору. Ведение лога. | Kainos | Скриптовые языки администрирования Windows | 3 | 11-12-2011 14:10 | |
Установка - при инсталяции Vista Business зависает при появлении ProgressBar. | _ib_ | Microsoft Windows Vista | 5 | 18-09-2008 05:17 |
|