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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lanselotideo1111
     

    Код:
     
    @echo off
    for /f %%i in (test.txt) do echo %%~ni 1>>new.txt
     

     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 19:46 22-05-2008
    SymA



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    задача: включить/выключить "Общий доступ к файлам и принтерам"

    Всего записей: 56 | Зарегистр. 10-12-2007 | Отправлено: 00:34 23-05-2008 | Исправлено: SymA, 00:35 23-05-2008
    bobojon



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Здравствуйте, помогите кто может.   следующая ситуация: -у меня должен быть постояный connect с IP 70.764.47.111 . имеются шлюзы 187.55.5.65 и 185.66.6.65. нужно чтобы когда пропадет коннект через один шлюз, автоматом прописался другой шлюз. Заранее благодарен!

    Всего записей: 53 | Зарегистр. 06-03-2008 | Отправлено: 09:25 23-05-2008
    lanselotideo1111



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
     
    спасибо, работает.
    А как теперь результат записать в исходный файл, а не новый?
     
     
     
     

    Всего записей: 33 | Зарегистр. 04-10-2006 | Отправлено: 10:58 23-05-2008 | Исправлено: lanselotideo1111, 11:00 23-05-2008
    sVx



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

    Код:

    @echo off
     
    :Add_route
    route add 70.764.47.111 mask 255.255.255.255 187.55.5.65 metric 20
     
    :Check
    ping -n 3 70.764.47.111 > nul
    IF %errorlevel%==1 (goto :Find_route) ELSE goto :Sleep
     
    :Sleep
    ping -n 61 127.0.0.1 > nul
    goto :Check
     
    :Find_route
    route print | find /i "187.55.5.65" > nul
    IF %ERRORLEVEL%==0 goto :185.66.6.65
    route print | find /i "185.66.6.65" > nul
    IF %ERRORLEVEL%==0 (goto :187.55.5.65) ELSE goto :Add_route
     
    :187.55.5.65
    route CHANGE 70.764.47.111 mask 255.255.255.255 187.55.5.65 metric 20
    goto :Check
     
    :185.66.6.65
    route CHANGE 70.764.47.111 mask 255.255.255.255 185.66.6.65 metric 20
    goto :Check

    Всего записей: 157 | Зарегистр. 17-06-2004 | Отправлено: 11:39 23-05-2008 | Исправлено: sVx, 12:27 23-05-2008
    bobojon



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Спасибо БОЛЬШОЕ  sVx !!!

    Всего записей: 53 | Зарегистр. 06-03-2008 | Отправлено: 13:30 23-05-2008
    lavren



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, помогите решить задачу:
    Необходимо удалять ветки реестра в некоторых компьютеров в сети. Желательно чтобы список компов был отдельно (припустим в текстовом файле) и ветки реестра отдельно.
    regedit.exe может импортировать файлы *.reg с командами удаления веток и в графическом режиме коннектиться к реестрам на других компах, а как реализовать это в батнике?

    Всего записей: 544 | Зарегистр. 29-05-2007 | Отправлено: 14:49 23-05-2008
    wolf0425



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

    Код:
    @echo off
    set comp=%1
    ::set comp=\\mycomp
     
    if "%comp%"=="" echo usage: %0 computername && goto :eof
     
    if "%comp:~0,2%"=="\\" set comp=%comp:~2%
    ping -n 1 -w 100 %comp% >nul || echo computer (%comp%) not found, exiting && goto :eof
     
    set port="\\%comp%\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
     
    reg query  %port% /v GpNetworkStartTimeoutPolicyValue 2>nul 1>nul && echo error: registry settings already exist, exiting && goto :eof
    reg add    %port% /v GpNetworkStartTimeoutPolicyValue /t REG_DWORD /d 40 /f >nul

     
    Добавлено:
    .

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 16:08 23-05-2008 | Исправлено: wolf0425, 16:22 23-05-2008
    bobojon



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

    Код:
    Здравствуйте, помогите кто может.   следующая ситуация: -у меня должен быть постояный connect с IP 70.764.47.111 . имеются шлюзы 187.55.5.65 и 185.66.6.65. нужно чтобы когда пропадет коннект через один шлюз, автоматом прописался другой шлюз. Заранее благодарен!
    Воспользовался кодом предоставленным sVx- все вроде нормально работает в ХР, но теперь столкнулся с другой проблеммой, этот код никак не хочет работать в Windows 2000 не выполняеться данное условие
    Код:
    IF %errorlevel%==1 (goto :Find_route) ELSE goto :Sleep
    !  
    можно ли переделать этот код под 2000?

    Всего записей: 53 | Зарегистр. 06-03-2008 | Отправлено: 18:02 23-05-2008
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bobojon
    В 2000 ping не выдает код возврата, проверяй errorlevel команды find. Вот так будет работать и в XP и в 2000

    Код:

    ping -n 3 70.764.47.111 | find "TTL"> nul 2>&1
    IF %errorlevel%==1 ...

    Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 18:26 23-05-2008
    bobojon



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

    Код:
     find "TTL"> nul 2>&1
    не могли бы Вы разжевать вот этот кусочек (ни как не пойму)?  - а так код работает спасибо !!!!!!!
     
    Добавлено:
    А как мне быть если у меня по этим шлюзам прописаны  другие статические маршруты, так как из за этого у меня не меняеться шлюз при пропадании канала?  
     
    Добавлено:

    Код:
    route print | find /i "187.55.5.65" > nul
    можно ли сделать так чтобы в этой части кода задавался шлюз187.55.5.65 +хост 70.764.47.111???
     
    Добавлено:

    Код:
    route print | find /i "187.55.5.65" > nul можно ли сделать так чтобы в этой части кода задавался шлюз187.55.5.65 +хост 70.764.47.111???
    Ребята Помогите !

    Всего записей: 53 | Зарегистр. 06-03-2008 | Отправлено: 09:05 24-05-2008
    palladium007

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте.
    Подскажите пожалуйста как в текстовом файле найти нужные строки и поменять определенные символы?
    К примеру строка num=0, а нужно num=1.
    Спасибо.

    Всего записей: 4 | Зарегистр. 24-05-2008 | Отправлено: 13:59 24-05-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    palladium007
    В шапке есть
    Цитата:
    Работа с текстом, датой, и файлами »  


    Всего записей: 2167 | Зарегистр. 17-07-2006 | Отправлено: 14:11 24-05-2008
    bobojon



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

    Всего записей: 53 | Зарегистр. 06-03-2008 | Отправлено: 16:02 24-05-2008
    Maximiliano1

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    У меня подключена "Воля" и операционка Виста.
    Хочу сделать такой батничек, чтоб при двойном клике вллючалось соиденение по сети с модемо и есчо батничек чтоб при двойном клике отключалось соиденение по сети (в моём случае подключение по сети = доступ в интернет).
    Можно написать (точно непомню) рес диал_имя пользывателя_и т.д. но это работает для обычного интернета, а не для сети. Если кто в этом шарит плыз скаэите как такое сделать!
     
    Заранее благодарен!

    Всего записей: 1 | Зарегистр. 24-05-2008 | Отправлено: 19:55 24-05-2008
    palladium007

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо, нашел то что искал.
     
    Появился еще один вопрос.
    Возможно такое сделать?
    Скрипт подключается к 80 порту веб-сервера к примеру телнетом, делает запрос типа GET http://test.com HTTP/1.0, результат перенаправляет в файл, после чего содержимое этого файла сортируется (к примеру оставляем строки в которых есть http, а все остальное удаляем).
    После чего рандомно берем строку из этого файла и подставляем её на подключения опять же использую телнет.
     
    Спасибо.
     

    Всего записей: 4 | Зарегистр. 24-05-2008 | Отправлено: 13:43 25-05-2008
    wolf0425



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

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 15:42 26-05-2008 | Исправлено: wolf0425, 15:43 26-05-2008
    palladium007

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Мне нужен скрипт который будет самостоятельно заходить на определенный сайт и ходить по нему произвольно. Будто это делаю я.  
    Telnet`оm или netcat`om я думаю делать запрос, ответ перенаправлять в файл (в файле будет исходный текст странички), потом удалить все кроме ссылок, взять произвольную строчку из этого файла и  сделать новый запрос, перейти глубже, опять запрос, опять файл, опять сортировка, и опять заход. Да, произвольно.
    wget - нет!
     

    Всего записей: 4 | Зарегистр. 24-05-2008 | Отправлено: 22:38 26-05-2008 | Исправлено: palladium007, 22:44 26-05-2008
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    palladium007
    Мдя....
    Это на батничке??????
     
    Это не тот язык, на котором стоит писать такие вещи
     
    Но это имхо

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 00:38 27-05-2008
    srokk

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Одмины, спасибо за енный и здатый форум!!!

    Всего записей: 63 | Зарегистр. 22-12-2006 | Отправлено: 08:40 27-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.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru