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

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

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

vu1tur (09-01-2011 11:53): лимит страниц, продолжение — http://forum.ru-board.com/topic.cgi?forum=62&topic=22143  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Задачи на bat-файлах 9
(часть 1, часть 2, часть 3, часть 4, часть 5, часть 6, часть 7, часть 8)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
 
Для перекодирования кирилицы 866<—>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы

 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки
 
Полезные утилиты
 
Готовые решения и частые вопросы:
  • Встроенный справочник по командам
  • Создание помощи по всем командам консоли 2000 и XP
  • Делаем паузу в командном файле стандартными средствами Windows
  • Альтернативные решения »
  • Работа с текстом, датой, и файлами »
  • Администрирование, автоматизация и сеть »
  • Работа с переменными и параметрами ком. строки »
     
    Описания работы команд и символов участниками темы:
    · setlocal enabledelayedexpansion и переменные окружения
    · символы & и && в командной строке
    · Переменная %0

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 17:45 04-09-2010 | Исправлено: Accessor, 18:04 28-09-2010
    res2001



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

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 17:21 22-09-2010 | Исправлено: res2001, 08:52 23-09-2010
    smirnvlad

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

    Код:
     
    @echo off
    SET "IP_A=AA.AA.AA.AA"
    SET "IP_B=AA.AA.AA.AA"
     
    ping %IP_A% -n 1
    if %errorlevel%==0 start C:/A_good.txt & goto:eof
    if %errorlevel%==1 GoTo REZERV
    goto:eof
     
    :REZERV
    ping %IP_B% -n 1
    if %errorlevel%==0 start C:/B_good.txt & goto:eof
    if %errorlevel%==1 GoTo KAPUT
    goto :eof
     
    :KAPUT
    echo Nichego ne pinguetso!
    pause
     

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 17:52 22-09-2010 | Исправлено: smirnvlad, 17:57 22-09-2010
    Fader



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Приветствую.
     
    Ищу несложный скрипт (vbs/bat), позволяющий проверять URL на доступность.
    Устроил бы простой ответ HTTP. Скажем если код 200 (вообще любой 2хх) скрипт отдает ответ - "ОК"
    Если 4хх/5хх - echo ответ "ERROR"
     
    Не хочу изобретать велосипед, да и навыков соответствующих нет. Наверняка кто-нибудь да реализовал такой скрипт.
     
    Спасибо.

    Всего записей: 898 | Зарегистр. 03-01-2004 | Отправлено: 18:32 22-09-2010
    Mark_Titov



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, я тут просматривал предыдущие топы и наткнулся на нужную мне штуку.
    wolf0425 привел красивый шедулер, в связи с чем вопрос -
    Можно ТУДА ЖЕ добавить проверку даты, например если нужно запустить задание 25.09.2010 в 10:52
    и что бы не было повтора запуска задания после 25.09.2010...
    вот код от wolf0425

    Код:
    :wait  
    it "%time:~0,5%"=="03:00" goto :reboot  
    ping -n 5 localhost > nul    
    goto :wait  
     
    :reboot  
    shutdown /r /t 30

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 18:43 22-09-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mark_Titov
    а чего бы просто не вписать запуск батника в системный шедулер на нужную дату/время?
     
    в так - добавляешь в строку проверки ещё и дату, какие проблемы то?
     

    Код:
    :wait  
    it "%time:~0,5% %date%"=="03:00 25.09.2010" goto :reboot  
    ping -n 5 localhost > nul    
    goto :wait  

     
    убедись только что у тебя формат даты такой же.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 18:46 22-09-2010 | Исправлено: wolf0425, 18:51 22-09-2010
    Mark_Titov



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425, спасибо большое, а можно сделать что бы БЕЗ указания месяца и года?
    Например 25-го числа в 10:53 ???

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 19:08 22-09-2010
    wolf0425



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

    Цитата:
    а можно сделать что бы БЕЗ указания месяца и года?  
    а можно ты наконец прочиташь хэлп по команде set, разберешься как в той строке отрезаны десятые доли секунды из %time% и сам обрежешь месяц и год из даты? пользы для тебя будет гораздо больше, чем если кто-то сделает это за тебя.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 19:22 22-09-2010 | Исправлено: wolf0425, 19:22 22-09-2010
    smirnvlad

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fader
    из полезных утилит в шапке скачать curl
    Подробнее...

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 20:18 22-09-2010 | Исправлено: smirnvlad, 20:30 22-09-2010
    McPetrovich



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Все до ужаса оказалось просто.... правда пришлось сегодня половину деня убить на изучение виндовых команд и привыкание к виндовому интерфейсу  
     
    Код:
    @echo off
    Set IP_A=AA.AA.AA.AA
     
    ping %IP_A% -n 1
    if ERRORLEVEL=1 (
    echo BORODA
    ECHO Y|REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\***" /v ***
    ECHO Y|REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\***" /v ***
    REG ADD "HKEY_CURRENT_USER\Software\Microsoft\***" /v *** /t REG_SZ /d AA.AA.AA.AA
    REG ADD "HKEY_CURRENT_USER\Software\Microsoft\***" /v *** /t REG_SZ /d ***
     
    ) else (
    echo HOROSHO
    ECHO Y|REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\***" /v ***
    ECHO Y|REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\***" /v ***
    REG ADD "HKEY_CURRENT_USER\Software\Microsoft\***" /v *** /t REG_SZ /d BB.BB.BB.BB
    REG ADD "HKEY_CURRENT_USER\Software\Microsoft\***" /v *** /t REG_SZ /d ***
    )
    оказывается cmd знает что такое else

    Всего записей: 8 | Зарегистр. 20-05-2006 | Отправлено: 20:29 22-09-2010
    Mark_Titov



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, подскажите как можно удаленно отключить родной фаервол виндовса батником..?
    Админские права есть...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 09:54 23-09-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Mark_Titov
    как-то так:
    netsh firewall opmode set mode=disable

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 10:56 23-09-2010
    Mark_Titov



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001, благодарю...
    А как мне связать это с ниже приведенным кодом -

    Код:
    @echo off  
    setlocal  
    for /f "tokens=*" %%i in (list.txt) do (  
    taskkill /s "\\%%i" /im opera.exe /f  
    )

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

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 12:02 23-09-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Mark_Titov
    запускай netsh на удаленной машине с помощью psexec, входящей в состав pstools
     
    Добавлено:
    В чем смысл вырубания фаервола перед убиванием оперы? Просто убить оперу нельзя?

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 12:45 23-09-2010
    Mark_Titov



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

    Цитата:
    Просто убить оперу нельзя?

    Фаервол системный не дает...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 13:15 23-09-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Mark_Titov
    Тот же фаервол тебе не даст себя отключить, я так думаю.
    Видимо на фаере заблокирован общий доступ к файлам и принтерам.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 13:21 23-09-2010
    Mark_Titov



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

    Цитата:
    Видимо на фаере заблокирован общий доступ к файлам и принтерам.

    Не заблокирован, сам включал доступ...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 13:41 23-09-2010
    res2001



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

    Цитата:
    Не заблокирован, сам включал доступ...

    С psexec получилось фаер остановить?

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 13:59 23-09-2010
    Mark_Titov



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

    Цитата:
    С psexec получилось фаер остановить?

    Не пробовал, так как нужно средствами винды это сделать, если конечно возможно...
    Как вариант, через реестр - удаленно изменив значения реестра. Я вот только не знаю где там какой куст копать...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 14:18 23-09-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Mark_Titov
    Через реестр можно, только изменения в реестре сразу в силу не вступят, а только после перезагрузки, поэтому бесполезны.
    А доступ у тебя к удаленному реестру есть?

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 14:30 23-09-2010
    Mark_Titov



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

    Цитата:
    А доступ у тебя к удаленному реестру есть?

    Да...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 14:40 23-09-2010
       

    Страницы: 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-файлах 9
    vu1tur (09-01-2011 11:53): лимит страниц, продолжение — http://forum.ru-board.com/topic.cgi?forum=62&topic=22143


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru