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

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

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

vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Nagual



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

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

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

  • Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 12:28 19-03-2008 | Исправлено: Nagual, 01:02 24-09-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    max200701
    Это наверное реально, только не понятно, что эти 30 секунд вообще делают. Просто не дают закрыться окну консоли, вот и все. Можно удалить две последние строчки - они для красоты.
     
    А вместо них впиши:

    Код:
     
    :loop2
    ping -n 2 ya.ru 1>nul || goto:loop2
     

     
    Т.е как только пинг пройдет, батник закроется. Надеюсь пинг не помешает модему сменить ip.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 01:11 16-05-2008
    ATS2000

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ещё раз приветствую камрадов!
     
    Есть тексотовый файлик all.txt примерно следующего содержания:
     
    12334,345676
    2455,897657
    2345667,44567899
    12354,45678
     
    т.е. пары разных целых чисел, разделенных запятыми
     
    Задача: привести это файлик к следующему виду:
     
                 Трафик     Минуты
    1 Канал  12334       345676/60
    2 Канал  2455         897657/60
    3 Канал  2345667    44567899/60
    4 Канал  12354       45678/60
     
    В колонке минуты желательно получить результат деления на 60 с округлением до целого.
     
     

    Всего записей: 276 | Зарегистр. 21-02-2005 | Отправлено: 04:30 16-05-2008
    teaser11

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите пожалуйста, где ошибка?
    REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v "test" /t REG_SZ /d %windir%\test.bat /f

    Всего записей: 4 | Зарегистр. 22-04-2008 | Отправлено: 07:19 16-05-2008
    Elroir



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

    Цитата:
    подскажите пожалуйста, где ошибка?

    Нет ошибки - все верно. Какая-нибудь прога может блокировать добавление параметров в этот раздел реестра.

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 08:17 16-05-2008
    teaser11

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    спасибо, уже решил проблемку, добавил .exe
    REG.EXE ADD и далее

    Всего записей: 4 | Зарегистр. 22-04-2008 | Отправлено: 08:39 16-05-2008
    01MDM



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

    Код:
     
    @echo off
    setlocal
    echo         Трафик     Минуты >formated.txt
    for /f "tokens=1,2 delims=," %%i in (all.txt) do (
        set traf=%%i
        set /a min=%%j/60
        call:write
    )
    goto:eof
    :write
    set /a count+=1
    echo %count% Канал %traf%  %min% >>formated.txt
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 08:50 16-05-2008 | Исправлено: 01MDM, 09:29 16-05-2008
    ATS2000

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    2 01MDM Спасибо!
     
    1. А если строки должны называться не номером канала, а например так:
     
                           Трафик Минуты
    Внешний           11111    2222
    Внутренний       333       333
    Служебный       555       777
     
    то как тогда сделать?
     
     
    2. При объединении нескольких файлов командой copy file1.txt+file2.txt+file3txt all.txt
       результирующий файл заканчивается символом перевода строки. Как от него можно избавиться?

    Всего записей: 276 | Зарегистр. 21-02-2005 | Отправлено: 11:11 16-05-2008 | Исправлено: ATS2000, 11:12 16-05-2008
    max200701

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

    Цитата:
    max200701  
    Это наверное реально, только не понятно, что эти 30 секунд вообще делают. Просто не дают закрыться окну консоли, вот и все. Можно удалить две последние строчки - они для красоты.  
     
    А вместо них впиши:  
     
    Код:  
    :loop2  
    ping -n 2 ya.ru 1>nul || goto:loop2  
     
     
     
     
    Т.е как только пинг пройдет, батник закроется. Надеюсь пинг не помешает модему сменить ip.

    01MDM извени конечно чайника но если не тяжело напиши как точно должен выглядеть мой батник после твоей переделки

    Всего записей: 65 | Зарегистр. 27-02-2008 | Отправлено: 14:05 16-05-2008
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    max200701, что такое две последних строки и как их заменяют - мог бы догадаться и чайник и валенок
     
    рекомендую так:

    Код:
    @echo off  
    Title Reset Connection
    :loop  
    echo -----------------  
    echo Start program...  
    ZTnBatch -h 192.168.1.1 -p 1980 -c "poe drop poe0"  
    if not errorlevel=0 (  
                    echo Connect Error! Restart...  
                    goto loop  
                    )  
     
    Title Connect OK! Wait ~30 sec...
    :loop2  
    ping -n 2 ya.ru 1>nul || goto:loop2  

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

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 14:26 16-05-2008 | Исправлено: wolf0425, 14:28 16-05-2008
    max200701

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

    Цитата:
    max200701, что такое две последних строки и как их заменяют - мог бы догадаться и чайник и валенок  

    wolf0425 да я впринцепе догадался но очень хотелось увидеть роботу опитных людей в этом деле всем спасибо всё работает

    Всего записей: 65 | Зарегистр. 27-02-2008 | Отправлено: 14:52 16-05-2008
    Volcano



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос знатокам: нужен батник, который мог бы удалять клавиатуру как устройство из системы (ну как из "Диспетчера устройств"), а потом делать "Scan for hardware changes" (не помню как по-русски). Вощем, чтобы система эту клаву нашла заново как устройство. Это вообще возможно средствами бат-программирования?

    Всего записей: 1027 | Зарегистр. 31-07-2002 | Отправлено: 21:29 16-05-2008
    SymA



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

    Цитата:
    :loop2    
    ping -n 2 ya.ru 1>nul || goto:loop2  

     
    || - значение символов: если первая команда не выполняется, то выполняется другая ?
    Почему не проходит пинг на ya.ru ?

    Всего записей: 56 | Зарегистр. 10-12-2007 | Отправлено: 22:38 16-05-2008 | Исправлено: SymA, 22:39 16-05-2008
    max200701

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
     
    подскажите плиз что это за ошибка и как её победить

    Всего записей: 65 | Зарегистр. 27-02-2008 | Отправлено: 22:56 16-05-2008
    Elroir



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

    Цитата:
    || - значение символов: если первая команда не выполняется, то выполняется другая ?

    Если команда выполнилась с ошибкой (вернулся код возврата отличный от нуля), то выполняется команда после символов "||".
     

    Цитата:
    Почему не проходит пинг на ya.ru ?

    Это тебе лучше знать.

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:54 17-05-2008
    ATS2000

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    2 01MDM Вопросы снимаю, разобрался сам.
     
     

    Всего записей: 276 | Зарегистр. 21-02-2005 | Отправлено: 06:19 17-05-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    max200701
    Это касается только модема, здесь до пинга даже не доходит.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 09:30 17-05-2008
    Dantis

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ подскажите пожалуйста какими способами ( можно и не bat  скриптом)  запретит закрывать прриложения.. т.е защитить его от убийства даже зачерз   TaskManeger ?
     
    Сорри за офф. топ.
     

    Всего записей: 26 | Зарегистр. 25-03-2008 | Отправлено: 14:26 17-05-2008
    SymA



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

    Цитата:
    :loop2    
    ping -n 2 ya.ru 1>nul || goto:loop2  

     
    У меня VPN.
    Данный батник не выполняет goto если пинг не проходит. Даже если VPN отключен. Команда выполняется только при отключении Локальной Сети.
    Подскажите, как подправить ?

    Всего записей: 56 | Зарегистр. 10-12-2007 | Отправлено: 00:33 18-05-2008
    Elroir



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

    Код:
     
    :loop2
    ping -n 2 ya.ru | find /i "TTL=">nul
    if errorlevel 1 goto loop2
     


    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:53 18-05-2008
    SymA



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir, отлично работает! Благодаpю.
     
    | - выполняется следующая команда, если предыдущая выполнена успешно ?
     
    То что пинг не проходит на mail.ru; rambler.ru; microsoft.com; google.com и другие хосты - следствие их защиты?

    Всего записей: 56 | Зарегистр. 10-12-2007 | Отправлено: 00:59 18-05-2008 | Исправлено: SymA, 01:27 18-05-2008
       

    Страницы: 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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 5
    vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru