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

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

Ответить
Настройки темы
CMD/BAT - [решено] Вывод содержимого файлы в командную строку.

Новый участник


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

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


Здравствуйте, помогите пожалуйста дополнить bat-ник.
Имеется .bat, который запускает сервер CS:S:
Код: Выделить весь код
@echo off
cls
echo Protecting srcds from crashes...
echo If you want to close srcds and this script, close the srcds window and type Y depending on your language followed by Enter.
title srcds.com Watchdog
:srcds
echo (%time%) srcds started.
start /wait srcds.exe -console -game cstrike +map "cs_alley_1&6" -tickrate 66 +fps_max 0 +maxplayers 18 +sv_lan 0 -insecure -master +mp_dynamicpricing 0 -nocrashdialog
echo (%time%) WARNING: srcds closed or crashed, restarting.
goto srcds
exit
Запускаю батник, запускается одно окно командной строки, сразу же из него запускается второе с SRCDS. Нужно что бы еще запускалось и третье, в котором бы выводился текстовый (.log) файл(переодически дополняющийся).

Отправлено: 13:11, 14-04-2012

 

Аватара для zion87

Старожил


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

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


Код: Выделить весь код
@echo off

echo @echo off>c:\log.bat
echo echo file log>>c:\log.bat
echo echo -------->>c:\log.bat
echo title log>>c:\log.bat
echo type "c:\файл лог.log">>c:\log.bat

cls
echo Protecting srcds from crashes...
echo If you want to close srcds and this script, close the srcds window and type Y depending on your language followed by Enter.
title srcds.com Watchdog

start c:\log.bat

:srcds
echo (%time%) srcds started.
start /wait srcds.exe -console -game cstrike +map "cs_alley_1&6" -tickrate 66 +fps_max 0 +maxplayers 18 +sv_lan 0 -insecure -master +mp_dynamicpricing 0 -nocrashdialog
echo (%time%) WARNING: srcds closed or crashed, restarting.
goto srcds

del c:\log.bat

exit

Последний раз редактировалось zion87, 15-04-2012 в 20:33.


Отправлено: 20:25, 15-04-2012 | #2



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

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


Новый участник


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

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


zion87, Спасибо. А как сделать, чтобы при добавлении новой строчки в .log файл, она срузу же выводилась в консоль?

Отправлено: 01:38, 16-04-2012 | #3


Аватара для zion87

Старожил


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

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


спасибо много!! а вот отметить сообщение ПОЛЕЗНЫМ - в самый раз!!!

для этого нужно сделать циклическую проверку
первый bat-ник(твой)

Код: Выделить весь код
@echo off
cls
echo Protecting srcds from crashes...
echo If you want to close srcds and this script, close the srcds window and type Y depending on your language followed by Enter.
title srcds.com Watchdog

start log.bat

:srcds
echo (%time%) srcds started.
start /wait srcds.exe -console -game cstrike +map "cs_alley_1&6" -tickrate 66 +fps_max 0 +maxplayers 18 +sv_lan 0 -insecure -master +mp_dynamicpricing 0 -nocrashdialog
echo (%time%) WARNING: srcds closed or crashed, restarting.
goto srcds

taskkill /f /im log.bat
del c:\logo.log

exit
второй bat-ник (мой) положи в тот же каталог
имя log.bat
Код: Выделить весь код
@echo off
color 0A
copy /y "d:\logo.log"  "c:\" >nul
echo file log
echo --------
title log
type "c:\logo.log"
ping -n 10 127.0.0.1 >NUL
:start
color 0A
@echo n|COMP "d:\logo.log" "c:\logo.log" >nul
if %errorlevel%==0 goto :next >nul
copy /y "d:\logo.log"  "c:\" >nul
color 0C
type "c:\logo.log"
ping -n 10 127.0.0.1 >NUL
:next
ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ .. & ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ ...
ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ  & ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ .
ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ .. & ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ ...
ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ  & ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ .
ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ .. & ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ ...
ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ  & ping -n 2 127.0.0.1 >NUL & cls & echo Ћ¦Ё¤**ЁҐ .
goto start
замени в обоих файлах путь d:\logo.log - на путь и имя своего файла log и переименуй все названия logo.log на имя своего log файла
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:30, 16-04-2012 | #4


Новый участник


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

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


На сколько я понял, циклическая проверка идёт благодаря PING? Можно ли сделать, чтобы .log файл читался сразу из своей папки, без какого либо копирования и сравнения. А то если .log файл не дополняется выводится "ожидание" и меняется цвет. Надо, чтобы .log файл просто выводился и консоль непрерывно следила за измнениями его.

Отправлено: 10:03, 16-04-2012 | #5


Аватара для zion87

Старожил


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

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


вот постоянно следит за файлом логов измени значение (set file=logo.log)
Код: Выделить весь код
@echo off
title log
echo file log && echo --------
set siz="0"
set file=logo.log
type %file%
:start
for %%I in (%file%) do if /i %siz% NEQ "%%~zI" set siz="%%~zI" && cls && echo file log && echo -------- && type %file%
goto start
Это сообщение посчитали полезным следующие участники:

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


Новый участник


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

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


zion87, Спасибо, вот тут вроде всё работает как надо.
И последняя просьба, не сильно важная, но: как сделать, чтобы введя в этой консоли
читать дальше »
Код: Выделить весь код
@echo off
cls
echo Protecting srcds from crashes...
echo If you want to close srcds and this script, close the srcds window and type Y depending on your language followed by Enter.
title srcds.com Watchdog

start log.bat

:srcds
echo (%time%) srcds started.
start /wait srcds.exe -console -game cstrike +map "cs_alley_1&6" -tickrate 66 +fps_max 0 +maxplayers 18 +sv_lan 0 -insecure -master +mp_dynamicpricing 0 -nocrashdialog
echo (%time%) WARNING: srcds closed or crashed, restarting.
goto srcds

taskkill /f /im log.bat
del c:\logo.log

exit
допустим "display" запустился bat с выводом лога(log.bat).?

Последний раз редактировалось KeNt606, 16-04-2012 в 23:10.


Отправлено: 22:58, 16-04-2012 | #7


Аватара для zion87

Старожил


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

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


Код: Выделить весь код
set /p log=
If "%log%"=="display" start log.bat

Отправлено: 23:04, 16-04-2012 | #8


Новый участник


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

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


Чуть-чуть не так надо. Я запустил первый бат, от него запустился вывод лога и SRCDS. Если я случаенно закрыл консоль с логом, то можно было бы вызвать её командой "display"
Как использовать start /wait log.bat, так что бы он не мешал запуску дальнейшей консоли(srcds), а то просто нужна закрыть консоль с логом чтобы другая зупустилась. И как у /wait убрать "Завершить выполнение пакетного файла [Y(да)/N(нет)]"?

Отправлено: 23:40, 16-04-2012 | #9


Аватара для zion87

Старожил


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

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


да ни как! в первом bat-нике задержку осуществляет строка
Код: Выделить весь код
start /wait srcds.exe -console -game cstrike +map...
если убрать /wait то запуститься еще много раз
Код: Выделить весь код
start /wait srcds.exe -console -game cstrike +map...
start /wait srcds.exe -console -game cstrike +map...
start /wait srcds.exe -console -game cstrike +map...
до бесконечности
а если поставить до /wait
Код: Выделить весь код
set /p log=
If "%log%"=="display" start log.bat
start /wait srcds.exe -console -game cstrike +map...
то пока не забьешь переменную не запуститься srcds.exe
ТАК ЧТО ЗАПУСКАЙ В РУЧНУЮ!!!
ну или писать контроль за процессом log.bat....

Последний раз редактировалось zion87, 17-04-2012 в 06:51.


Отправлено: 06:10, 17-04-2012 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как удалить файлы одного типа через командную строку? Raf-9600 Скриптовые языки администрирования Windows 5 01-08-2011 11:02
Не могу редактировать командную строку VMN Microsoft Windows NT/2000/2003 8 02-04-2008 22:05
Установка - установка через командную строку Kibor_G Microsoft Windows 2000/XP 14 03-08-2007 18:42
общение через командную строку vilisz Сетевые технологии 10 25-05-2006 16:37
как вызвать командную строку modem Общий по Linux 8 06-07-2003 07:11




 
Переход