Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах

Модерирует : KLASS, IFkO

vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задачи на bat-файлах
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Набор GNU утилит для win32
· Встроенный справочник по командам: hh ntcmds.chm
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
 
Готовые решения и частые вопросы:
· Создание листинга директорий на примере создания плейлиста
· Разименовывание переменных
· Переименовывание файлов по дате создания
· Запуск сетевого подключения
· Запуск bat файлов как сервис
· Пример выполнения команд по результату команды ping
· Использование даты на день раньше чем сегодня
 
Невозможности — что нельзя сделать с помощью командных файлов:
· изменть конфигурацию IP на удаленной машине (без помощи rcmd.exe) [добавил ALEF]
 
 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Старая версия первого сообщения

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 22:58 18-11-2005 | Исправлено: Elroir, 05:50 11-11-2006
Vampireee

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день
у меня такой вопрос..
есть батник следующего содержания
 
@echo off
:repeat
rasdial nameconnecta login password
if %errorlevel% gtr 0 (
echo Error. Repeat
goto repeat
) else (
echo Good.
)
 
Он проверяет наличие впн соединения и если его нету то соединяется до тех пор, пока оно не появится.
Так вот, нужне батник, который бы пинговал постоянно сайт (ping ya.ru -t), и в случае ответа "Превышен интервал....." пересоединял впн (рассоединение впн - rasdial /disconnect). Возможно даже что в случае не 1-го ответа а 10-го подряд.
 
Надеюсь я понятно изложил суть проблемы...

Всего записей: 4 | Зарегистр. 15-06-2006 | Отправлено: 17:25 15-06-2006 | Исправлено: Vampireee, 17:27 15-06-2006
CYBORG1980



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А смысл разъединяться. проблема уже не в впн - а у провайдера. перезапуск впн не поможет

Всего записей: 77 | Зарегистр. 27-05-2004 | Отправлено: 17:59 15-06-2006
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GOODmen
А если место израсходуется на что-то другое, удалятся "лишние" бэкапы. Вообще, не знать, сколько у тебя бэкапов и за какой они срок как-то неаккуратно.

----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 19:43 15-06-2006
Vampireee

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в моём случае проблема в впн. наш впн имеет свойство почему то блокировать на серваке инет, и перезапуск впн помогает

Всего записей: 4 | Зарегистр. 15-06-2006 | Отправлено: 20:23 15-06-2006 | Исправлено: Vampireee, 20:24 15-06-2006
vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Vampireee
в шапке темы есть вот такая ссылка:
Пример выполнения команд по результату команды ping

----------
I am free of all prejudice. I hate everyone equally.

Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 14:33 16-06-2006 | Исправлено: vu1tur, 14:33 16-06-2006
Vampireee

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
моя проблема в том что это всё нужно зациклить, что бы пинг шёл постояяно и по результатам вывода каждой сроки пинга выполнялось действие...

Всего записей: 4 | Зарегистр. 15-06-2006 | Отправлено: 16:27 16-06-2006
VladimirKvach

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vampireee
 
Батник для определения коннекта по звуку, если комп стоит в одном месте, а сами вы лазите где-нибудь на кроссе
 
 
@echo off
 cls
 if "%1"=="" exit
 
:cikl
 ping -n 1 %1 > nul
 if %errorlevel%==0 (echo %1 OK*) else (echo %1 Error)
 goto cikl
 
 
Примечание: вместо звездочки нужно поставить символ с кодом 7 (звуковой сигнал). Поставить его можно например в фаре, нажав alt и цифру 7 справа на цифровой части клавиатуры

Всего записей: 23 | Зарегистр. 03-04-2006 | Отправлено: 06:49 19-06-2006
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VladimirKvach
Только я думаю полезно ещё добавить код на пропадание компа из сети,  скажем 2-а сигнала.
echo 
echo 

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 08:51 19-06-2006 | Исправлено: slech, 08:52 19-06-2006
VladimirKvach

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
slech
 

Цитата:
Только я думаю полезно ещё добавить код на пропадание компа из сети,  скажем 2-а сигнала

Была такая идея, отслеживать коннект с интернетом (ибо связь иногда пропадает). Типа батник на маршрутизаторе пишет в лог результаты пинга, а на моем компе через tail этот лог анализируется и в случае пропадания связи звуковой сигнал. Но ведь всю ту же самую работу фактически делает аськин цветочек в трее, разве что не пикает. Так что надобности пока в таком батнике нет.

Всего записей: 23 | Зарегистр. 03-04-2006 | Отправлено: 14:10 19-06-2006
BredBred

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://forum.ru-board.com/topic.cgi?forum=5&topic=4582&start=560#6
Смогёшь?

Всего записей: 117 | Зарегистр. 17-10-2005 | Отправлено: 20:55 19-06-2006
GangsteR

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, подскажите плиз!!!
 
вот есть у меня директория с мп3, в ней всё лежит так:
artist/year - alibum/track - title.mp3
 
так вот решил я посчитать а сколько у меня альбомов 2006 году накачано, и решилось это достаточно легко -
Код:
tree|find /c "2006"

Дальше решил что надо бы посчитать по всем годам

Код:
 
@echo off
 
set startyear=2006
set endyear=1900
set incr=-1
set tmp_tree_file=tree%RANDOM%_%DATE%.tmp.txt
 
tree /a > %tmp_tree_file%
 
for /L %%i in (%startyear%, %incr%, %endyear%) do (
    find /c "%%i" < %tmp_tree_file% && echo --- %%i
)
 
del %tmp_tree_file%
 

но увы вывод такой:

Код:
2006
--- 45
2005
--- 68

и т.д.
 
так вот как же заставить это писаться в одной строке оба вывода команд tree|... и echo, а не одно под другим?
 
OS: WindowsXPSP2

Всего записей: 368 | Зарегистр. 07-03-2004 | Отправлено: 21:10 19-06-2006 | Исправлено: GangsteR, 21:12 19-06-2006
nick131313

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времни суток!
Есть программа RapGet, директория установки дефолтная.
Есть ссылка на рапиде.
Нет возможности запустить ее дрпустим в 3:00, а до этого ожидать.
Спасибо!

Всего записей: 8 | Зарегистр. 20-05-2006 | Отправлено: 23:28 19-06-2006
koric



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
nick131313
а не проще использовать стандартный Windows-ский планировщик задач? в определённое время запустить программу с необходимыми ей ключами

Всего записей: 8 | Зарегистр. 04-04-2006 | Отправлено: 11:21 20-06-2006
Rishatx



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Первый раз не правильно написал, батник, позволяющий, найти все файлы с расширением *.msg в определенном каталоге, оброботать каждую утилитой перекодирования trt.exe, переименовать файл и удалить исходный! Надеюсь на помощь! Устал биться над этой задачей...

Всего записей: 7 | Зарегистр. 19-06-2006 | Отправлено: 12:07 20-06-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Rishatx

Код:
@Echo Off
PushD C:\Folder\
For %%a in (*.msg) Do Call :_Parse %%a
PopD
GoTo :EOF
 
:_Parse
Echo TRT %1 /Option
Del %1 /q /f
GoTo :EOF
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:32 20-06-2006
BredBred

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nick131313
Не изобретай велосипед: на сайте _http://www.dimonius.ru/
качай USDownloader и забудь о проблеммах.
koric - как проще см выше.

Всего записей: 117 | Зарегистр. 17-10-2005 | Отправлено: 12:40 20-06-2006
Milka1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет. В написании батников не сильна , поэтому нужна ваша помощь. Задача следующая.
Надо с фтп сервера скачать файлы на комп, но закачивать только вновь созданные на фтп-сервере базы.

Всего записей: 3 | Зарегистр. 20-06-2006 | Отправлено: 14:11 20-06-2006
VladimirKvach

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, а как реализовать подобную конструкцию
 
for /L %%i in (5,-1,1) do (set /a n=%%i+1 & ren %%i.rar %n%.rar)
 
я так понимаю, что то что в скобках интерпретируется когда n еще нет и пофигу, что оно появляется. Как это обойти? как %%i увеличть на единицу? И еще, решить эту задачу хочется в одну строчку без goto
 
спасибо.
 
Добавлено:
Milka1

Цитата:
Надо с фтп сервера скачать файлы на комп, но закачивать только вновь созданные на фтп-сервере базы

 
Вот мой батник для скачивания обновлений Касперского
 
@echo off
wget -N --reject=exe,klc --directory-prefix=bases --passive-ftp ftp://ftp.kaspersky.ru/updates/*.*
wget -N --directory-prefix=bases --passive-ftp ftp://ftp.kaspersky.ru/bases/ids/*.*
 
Сам wget и описание к нему ищи поиском в интернете

Всего записей: 23 | Зарегистр. 03-04-2006 | Отправлено: 14:14 20-06-2006
Milka1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата:
Надо с фтп сервера скачать файлы на комп, но закачивать только вновь созданные на фтп-сервере базы
 
 
Вот мой батник для скачивания обновлений Касперского
 
@echo off
wget -N --reject=exe,klc --directory-prefix=bases --passive-ftp ftp://ftp.kaspersky.ru/updates/*.*
wget -N --directory-prefix=bases --passive-ftp ftp://ftp.kaspersky.ru/bases/ids/*.*
 
Сам wget и описание к нему ищи поиском в интернете[/q]
 
 
Спасибо за ответ  
Но дело в том,что реализацию надо сделать через  батник, так была поставлена задача. Спасибо еще раз

Всего записей: 3 | Зарегистр. 20-06-2006 | Отправлено: 14:24 20-06-2006
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Milka1
не очень понял что значит через батник .  
мне так кажется что без привлечения сторонних утилит не сделать
можно вместо wget использовать стандартный ftp(может в этом то и задача ), тогда так
 
чтобы получить файл:
ftp -s:getftp.txt -v -d
+ сам getftp.txt
open IP_servera
login
password
get file.txt
quit
 
*** ну а тут определится как нить что они изменились ***
 
чтобы скопировать файл:
ftp -s:putftp.txt -v -d
+ сам putftp.txt
open IP_servera
login
password
put file.txt
quit

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 16:41 20-06-2006 | Исправлено: uZver, 16:45 20-06-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах
vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru