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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    NIKZZZZ



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

    Цитата:
    внешнее управление работой батника

    Передачу данных можно осуществить через реестр.
    Управляющий батник через REG ADD создает ключ реестра, управляемый через REG QUERY читает его и выполняет необходимые действия.
    Аналогично, можно управлять батником, создавая временный файл.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 13:58 05-09-2010
    us0r



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

    Всего записей: 388 | Зарегистр. 06-12-2007 | Отправлено: 15:19 05-09-2010
    big_ptach

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Недавно надоело искать Live USB под свои требования, если и встречались таковы раньше то все были с глюками. Собрал сборку только самых необходимых вещей, теперь для себя и друзей хочу сделать инсталятор этого все дела на флешку, суть и порядок действий:
     
    1. Запускается автоматически HPUSBFW.EXE (было бы круто если бы прога сама запускалась и делала формат флешки)
    2. Нужен запус grubinst_gui.exe
    3. Можно всю вместимость флешки сжать в один архив - может быть EXE файл сделать. Ну и потом чтоб он развернулся на флешку.
     
    максимум что мне удалось написать это:Ptach_live_USB.exe /s -oc:\soft -r -y
    только мне ведь хочется чтоб это было не c:\soft, а флеш драйв
     
    Помгите пожалуйста умно оформить эти 8 строк которые составят мой банчек.(((

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

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ToALL
    Подскажите, есть ли возможность с помощью бат-файлов узнать мак-адрес сетевой карты ?

    Всего записей: 5466 | Зарегистр. 15-07-2003 | Отправлено: 01:22 06-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zhuchella
    через wmi попробуй
     
    Добавлено:
    ECHO OFF
    COLOR 9F
    CLS
    getmac
    pause

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 02:06 06-09-2010
    BVV63



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

    Цитата:
    Подскажите, есть ли возможность с помощью бат-файлов узнать мак-адрес сетевой карты ?

    Она одна?

    Код:
    @Echo Off
    SetLocal EnableDelayedExpansion
    For /F "UseBackQ" %%0 In (`WMIC NIC Get MACAddress`) Do If "%%0" Gtr "" Set MAC=%%0
    Echo %MAC%

    Подправил...

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 05:42 06-09-2010 | Исправлено: BVV63, 05:47 06-09-2010
    Mark_Titov



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго дня всем...
    Подскажите плиз, если у меня 10-15 батников одновременно запушенны на выполнение различных команд и при этом пользуются одним файлом sleep.exe - могут ли быть в связи с этим сбои и ошибки в выполнении кода...?

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 07:45 06-09-2010
    zhuchella

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

    Цитата:
    @Echo Off
    SetLocal EnableDelayedExpansion
    For /F "UseBackQ" %%0 In (`WMIC NIC Get MACAddress`) Do If "%%0" Gtr "" Set MAC=%%0
    Echo %MAC%  

    Я так понял, что мак будет в переменной MAC ?
     
    Я если нужно сменить мак, то как будет выглядеть цикл ?

    Всего записей: 5466 | Зарегистр. 15-07-2003 | Отправлено: 09:17 06-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    врядли система позволяет мас адресс менять. прогу нада списиальнуу

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 09:54 06-09-2010
    BVV63



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

    Цитата:
    Я так понял, что мак будет в переменной MAC ?

    Да.

    Цитата:
    Я если нужно сменить мак, то как будет выглядеть цикл ?

    Увы, лично я не знаю методов WMI, которые позволяли бы менять MAC-адрес.

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 09:57 06-09-2010 | Исправлено: BVV63, 09:58 06-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mark_Titov
    не может - зависать может

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 10:01 06-09-2010
    Mark_Titov



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

    Цитата:
    не может - зависать может

    Другими словами не зависит от количества батников одновременно обращающихся к нему, да..?

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 10:21 06-09-2010 | Исправлено: Mark_Titov, 10:22 06-09-2010
    NIKZZZZ



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

    Цитата:
    Подскажите, есть ли возможность с помощью бат-файлов узнать мак-адрес сетевой карты ?
     

     
    Можно , с помощью IPCONFIG /ALL, примерно так
     

    Код:
    For /F "usebackq tokens=1,2 delims=:" %%i In (`ipconfig /all ^|find "Физический"`) Do Set MAC=%%j  

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 10:34 06-09-2010
    ComradG



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не совсем понятно зачем заморачиваться сменной mac'а через WMI. Лично я использую древний, проверенный временем хинт - через реестр. Причем при наличии прямых рук, можно написать и батник, но это уже другое дело.
    Итак, открываем regedit, переходим в HKLM\SYSTEM\CurrentControlSet\Control\Class\4D36E972-E325-11CEBFC1-08002BE10318, где перебираем кусты с номерами 0000, 0001, 0002 и т.д. до тех пор, пока не обнаружим номер своей сетевухи. В кусте, в котором таится номер нашей сетевухи создаем парметр NetworkAddress типа REG_SZ, которому присваиваем значение mac'а, на который должкн замениться существующий. Все! Останется только перезагрузиться.
    Если же потребуется восстановить прежний mac, то просто удаляем созданный параметр и перзагружаемся.

    Всего записей: 2037 | Зарегистр. 05-07-2008 | Отправлено: 11:25 06-09-2010
    Free_Soft



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

    Код:
    set fldr=%~dp0
    set cpath=%fldr:~0,-1%
    attrib %cpath% +h +s /s

    но выпадает стабильно ошибка:

    Код:
    Ошибка в формате параметра -

    Ошибка именно на стадии присвоения атрибутов. переменная %cpath% отрабатывается корректно. Где я не прав?

    Всего записей: 1515 | Зарегистр. 19-04-2010 | Отправлено: 11:27 06-09-2010
    ComradG



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft
    Используй pushd и popd, а между переходами присваивай нужные атрибуты папке.

    Всего записей: 2037 | Зарегистр. 05-07-2008 | Отправлено: 11:50 06-09-2010
    Free_Soft



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

    Код:
    set fldr=%~dp0
    set cpath=%fldr:~0,-1%
    pushd "%cpath%" && (
    attrib %cpath% +h +s /s
    )
    popd

    Тоже ошибка...

    Всего записей: 1515 | Зарегистр. 19-04-2010 | Отправлено: 12:00 06-09-2010
    ComradG



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft
    Почитай внимательней hh ntcmds.chm про pushd и popd, так как я не совсем понимаю что есть в твоем коде такое %cpath% и для чего он вообще там нужен, как и %fldr%.

    Всего записей: 2037 | Зарегистр. 05-07-2008 | Отправлено: 12:06 06-09-2010
    Free_Soft



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

    Код:
    %fldr%
    устанавливает путь до батника, а
    Код:
    %cpath%
    отрезает от этого пути конечный ненужный слеш

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft
    pushd "%~dp0" -  работает ничуть не хуже pushd  "%cpath%" , только незачем же  
    поменять аттрибут папки - это  attrib %cpath% +h +s
    а ключик /s - у тебя был совершенно лишний

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 12:44 06-09-2010 | Исправлено: wolf0425, 12:49 06-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.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru