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

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

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

vu1tur (29-07-2011 12:47): Задачи на bat-файлах 11
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 102 103 104 105 106 107 108

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:53 09-01-2011 | Исправлено: mazafakermazafaka, 11:22 04-06-2011
    NIKZZZZ



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

    Цитата:
    пинг 150+

    Так вместо IP измеряй пинг, и если он большой , меняй IP

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 12:04 25-05-2011
    kobakis



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

    Всего записей: 170 | Зарегистр. 24-11-2007 | Отправлено: 12:06 25-05-2011
    NIKZZZZ



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

    Цитата:
    и как это зделать автоматически?

    Примерно, так

    Код:
    @echo off
    :_1
    for /f "tokens=6 delims= " %%i in ('ping google.com') do set "ping=%%i"
    echo *** Ping = %ping% ****
    if %ping% lss 100 goto _2
    echo ipconfig /renew "имя соединения" - смена IP
    goto _1
    :_2
    Echo *** Ok!!! ***

     
    Ждет , пока пинг будет меньше 100.
     
    Возможно, надо будет скорректировать tokens=6 , я смотрел под Win7

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 12:47 25-05-2011
    kobakis



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    у меня вин7 тоже, попробую, отпишусь, спасибо!

    Всего записей: 170 | Зарегистр. 24-11-2007 | Отправлено: 13:18 25-05-2011
    res2001



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

    Код:
    for /f "skip=1" %%a in ('wmic Logicaldisk where Drivetype="3" get Name') do (  
       copy /y reset.cmd %%a\
       attrib %%a\reset.cmd +h +r
    )  

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 13:49 25-05-2011
    Free_Soft



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

    Код:
    for /f "skip=1" %%a in ('wmic Logicaldisk where "Drivetype=3" get Name') do (
    вот так получилось

    ----------
    На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 14:13 25-05-2011
    wolf0425



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

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 15:36 25-05-2011
    5peciali5t



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

    Цитата:
     но поскольку создаваемый документ должен быть в кодировке utf-8 (требование к sfx конфигу 7-zip

    получилось так: стер в конфиге файла в кодировке utf-8 последнюю строку завершения
    и из батника дописываю
    (echo SetEnvironment="Vers= %vers%"
    echo ;!@InstallEnd@!)>>sfxconf.txt
     
    все корректно отрабатывает поскольку не затрагиваются кодировка файла и русские слова
     
    теперь и в название файла попадает версия продукта и в окно sfx  
     
    кому интересен Skype RePack Constructor можно ознакомиться тут
    Набор файлов для создания http://kop.karelia.ru/SkypeConstructor.7z [285кб]

    ----------
    Intel Ci7-2600K 3.4@4.5 Ghz/GeForce GTX 550 Ti 1024Mb/240Gb SSD+9Tb HDD's/RAM 16 Gb DDR3 1600/23" ACER T231Hbmid Multi-Touch Sensor Display

    Всего записей: 1472 | Зарегистр. 17-07-2009 | Отправлено: 15:47 25-05-2011 | Исправлено: 5peciali5t, 15:54 25-05-2011
    kobakis



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

    Всего записей: 170 | Зарегистр. 24-11-2007 | Отправлено: 15:51 25-05-2011
    Free_Soft



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

    Код:

    Код:
    Version    
    5.3.0.113  
     

    из чего мне нужно значение второй строки, которое я получал
    for /f "skip=1" %%i in ('type temp.txt') do set "vers=%%i"
    где что можно поправить?

    пиши так:
    Код:
    for /f "Tokens=2 Delims==" %%i in ('wmic datafile where "name='%A%SkypeSetupFull.exe'" get version /value') do...


    ----------
    На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 16:10 25-05-2011 | Исправлено: Free_Soft, 16:11 25-05-2011
    5peciali5t



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

    Цитата:
    for /f "Tokens=2 Delims==" %%i in ('wmic datafile where "name='%A%SkypeSetupFull.exe'" get version /value') do...  

    отлично! то что доктор прописал!
     
    спасибо всем за внимание
     
    для полного счастья осталось с помощью wget прописать проверку версии на сайте производителя и сопоставление имеющегося в каталоге файла установщика на предмет что свежее и предложение скачать новую версию в случае ее обнаружения...

    ----------
    Intel Ci7-2600K 3.4@4.5 Ghz/GeForce GTX 550 Ti 1024Mb/240Gb SSD+9Tb HDD's/RAM 16 Gb DDR3 1600/23" ACER T231Hbmid Multi-Touch Sensor Display

    Всего записей: 1472 | Зарегистр. 17-07-2009 | Отправлено: 16:46 25-05-2011
    kenny5705



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужна помощь...
    Есть вордовский документ, в нем задания теста, вида:

    Цитата:
     
      3. Сущность записи информации в CD - RW в изменении:
         1. Прозрачности информационного слоя под воздействием луча лазера
         2. Цвета информационного слоя под действием луча лазера.
         3. Толщины информационного слоя под действием луча лазера.
         4. Поляризации информационного слоя под воздействием луча лазера
         5. Магнитных свойств участков диска
     

    и ответы в виде:

    Цитата:
     
    Билет №13. (2,3,4,1,4,2,2,3,3,2)
     

    т.е. ответ на 3 вопрос 4
    можно ли получить с помощью скрипта, шпору вида:

    Цитата:
    <b>Вопрос</b> : Ответ

     
    И вообще туда ли я написал?

    Всего записей: 468 | Зарегистр. 15-01-2009 | Отправлено: 20:50 25-05-2011
    ASE_DAG



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    > И вообще туда ли я написал?
    Едва ли. «Вордовский документ» (если речь о старом формате) — файл бинарный, хотя текст в тем текстом.
    Обратитесь в тему «Word VBA».
     
    А еще лучше будет, если вручную сделаете, может быть и выучите что-нибудь заодно. ;-)

    ----------
    Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

    Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 22:39 25-05-2011 | Исправлено: ASE_DAG, 22:40 25-05-2011
    Misha1989



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужна консольная утилита для изменения прав на ключи реестра, аналог того что я делаю в Regedit правой кнопкой по ключу - "Разрешения".
     
    Чтобы можно было назначить кому можно этот ключ реестра только читать, а кому разрешить его читать и изменять. Это нужно делать из батника.
     
    Есть такие утилиты? Подскажите названия?
     
    Добавлено:
    Желательно чтобы поддерживались XP, Vista, Seven и был маленький размер утилиты.

    Всего записей: 359 | Зарегистр. 22-03-2010 | Отправлено: 02:03 26-05-2011
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Misha1989
    SetACL.exe
    Утилита с умопомрачительным синтаксисом, но работает исправно. почитать можно здесь.

    ----------
    На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 07:19 26-05-2011
    kobakis



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

    Цитата:
    kobakis  
     
    Цитата: и как это зделать автоматически?  
     
     
     Примерно, так  
     
    Код: @echo off  
     :_1  
     for /f "tokens=6 delims= " %%i in ('ping google.com') do set "ping=%%i"  
     echo *** Ping = %ping% ****  
     if %ping% lss 100 goto _2  
     echo ipconfig /renew "имя соединения" - смена IP  
     goto _1  
     :_2  
     Echo *** Ok!!! ***  
     
     
       
     Ждет , пока пинг будет меньше 100.  
       
     Возможно, надо будет скорректировать tokens=6 , я смотрел под Win7

    попытался вот что дает на выходе
    *** Ping = попытку. ****
    ipconfig /renew "т&#8730;ёюъюёъюЁюёэюх яюфъы&#9632;ўхэшх" - ёьхэр IP
    *** Ping = попытку. ****
    ipconfig /renew "т&#8730;ёюъюёъюЁюёэюх яюфъы&#9632;ўхэшх" - ёьхэр IP
    *** Ping = попытку. ****
     
    результата нет, даже не подключяется!  

    Всего записей: 170 | Зарегистр. 24-11-2007 | Отправлено: 10:18 26-05-2011
    GORA2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос не совсем по батникам, но может кто подскажет...
    Нужно внести в реестр следующую строку:

    Код:
    Windows Registry Editor Version 5.00
     
    [HKEY_CURRENT_USER\Software\7-Zip]
    "Path"="C:\\Program Files\\7-Zip\\"
     
    В конце пути должен быть слеш!
    Казалось бы ни чего сложного и должно быть так:
    Код:
    Reg Add "HKCU\Software\7-Zip" /v "Path" /t REG_SZ /d "C:\Program Files\7-Zip\" /f
     
    Однако такая строка записывает неправильный путь.
    Срабатывают только такой вариант:
    Код:
    Reg Add "HKCU\Software\7-Zip" /v "Path" /t REG_SZ /d "C:\Program Files\7-Zip\\" /f
     
    Почему так происходит и где можно прочитать об этом?
    Спасибо.

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 10:23 26-05-2011 | Исправлено: GORA2, 10:34 26-05-2011
    Free_Soft



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

    Код:
    echo ipconfig /renew "имя соединения" - смена IP

    здесь естественно, должно быть прописано имя твоего подключения
    Код:
    echo ipconfig /renew "MyConnect"
    или как ты там его назвал...  
    - смена IP к команде не относится, это комментарий

    ----------
    На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 10:30 26-05-2011
    kobakis



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft
    да, с коминтарием лоханулся,
    вот что получилось, соединение не переподключяется  
    *** Ping = 97 ****
    ipconfig /renew "т&#8730;ёюъюёъюЁюёЄэюх яюфъы&#9632;ўхэшх"
    *** Ping = 100 ****
    ipconfig /renew "т&#8730;ёюъюёъюЁюёЄэюх яюфъы&#9632;ўхэшх"
    *** Ping = 95 ****
    ipconfig /renew "т&#8730;ёюъюёъюЁюёЄэюх яюфъы&#9632;ўхэшх"
    *** Ping = 94 ****
    ipconfig /renew "т&#8730;ёюъюёъюЁюёЄэюх яюфъы&#9632;ўхэшх"
    *** Ping = 96 ****
    ipconfig /renew "т&#8730;ёюъюёъюЁюёЄэюх яюфъы&#9632;ўхэшх"
     

    Цитата:
    @echo off  
     :_1  
     for /f "tokens=6 delims= " %%i in ('ping google.com') do set "ping=%%i"  
     echo *** Ping = %ping% ****  
     if %ping% lss 80 goto _2  
     echo ipconfig /renew "высокоскоростное подключение"
     goto _1  
     :_2  
     Echo *** Ok!!! ***

    Всего записей: 170 | Зарегистр. 24-11-2007 | Отправлено: 10:36 26-05-2011 | Исправлено: kobakis, 10:42 26-05-2011
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GORA2
    правильно твоя строка должна выглядеть так:

    Код:
    Reg Add "HKCU\Software\7-Zip" /v "Path" /t REG_SZ /d "\"C:\Program Files\7-Zip\\\"" /f

    Обратный слеш в команде REG ADD экранирует символы, в данном случае кавычки и себя самого. Кроме того, само значение параметра должно в команде присутствовать в кавычках.

    ----------
    На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 10:37 26-05-2011
       

    Страницы: 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 102 103 104 105 106 107 108

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 10
    vu1tur (29-07-2011 12:47): Задачи на bat-файлах 11


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru