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

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

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

    Цитата:
    которая перезагружает компьютер при, например, входящей скорости трафика ниже 5 кбайт/с. 2-3 раза за сутки  

    Хреново если винда.
     
    01MDM
    А универсалка nircmd?

    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 20:17 14-04-2011
    01MDM



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

    Цитата:
    А универсалка nircmd?

    Что-то не нашел. Как?
     
    Nightwalker666

    Цитата:
    Как ее установить?

    Просто распакуй  
    TechniquesForSimp2006_05.exe, возьми cnic.exe

    Цитата:
    А она как-то пингует что-то?

    Нет, она может только проверять статус сетевой карты. Просто закинь батник в расписание, и запускай каждые 20 мин:

    Код:
     
    @echo off
     
    1>nul 2>&1 ping  -n 1 ya.ru && goto:eof || (
     
        cnic "Название_подключения" -d
        cnic "Название_подключения" -c
     
    )
     

     


    ----------
    Вопросы в личке останутся без ответа

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:48 14-04-2011
    king_stiven

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

    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 21:35 14-04-2011
    Nightwalker666

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

    Цитата:
    Нет, она может только проверять статус сетевой карты.

    Дык, у меня сетевая карта в статусе "включено" - а трафик не идет. Програмка это обнаружит?
     
    ОЙ! Извиняюсь за предыдущий вопрос вопрос. Увидел код ниже.

    Всего записей: 31 | Зарегистр. 24-03-2011 | Отправлено: 22:14 14-04-2011 | Исправлено: Nightwalker666, 22:16 14-04-2011
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nightwalker666
    Я же ответил, она только проверяет включена или выключена сетевая карта.  
     
    Если пинг, в тот момент, когда пропадает трафик, не проходит, то батник выше должен нормально отработать, одноразово. Сеть он не мониторит, по этому его надо время от времени запускать. Интервал выбери в планировщике.
     
    Батник пингует ya.ru, если не пингуется перезагружает сет. карту.

    ----------
    Вопросы в личке останутся без ответа

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 22:33 14-04-2011
    Nightwalker666

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

    Цитата:
    Я же ответил, она только проверяет включена или выключена сетевая карта.  
       
     Если пинг, в тот момент, когда пропадает трафик, не проходит, то батник выше должен нормально отработать, одноразово. Сеть он не мониторит, по этому его надо время от времени запускать. Интервал выбери в планировщике.

    Заранее извиняюсь за ламерские вопросы, я в этих делах не спец, прошу не бить ногами: 1. Куда надо положить этот файл cnic.exe? или же его надо просто запустить? как его батник найдет? 2. У меня название подключения "подключение по лкальной сети" на русском - нужно ли как-то декодировать данный код, а то я читал, что нужно перекодировать в стандарт ibm866? или просто положить код в *.txt и переименовать в *.bat, а потом в планировщик? 3 У меня Windows 7 x64, будет ли это все работать на ней?
    Заранее спасибо!

    Всего записей: 31 | Зарегистр. 24-03-2011 | Отправлено: 09:08 15-04-2011 | Исправлено: Nightwalker666, 13:13 15-04-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Nightwalker666
    cnic.exe положи рядом с батником
    Если ты создаешь батник блокнотом, то его кодировка будет 1251, в этом случае в начало батника добавь команду  
    >nul chcp 1251

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 11:41 15-04-2011
    Nightwalker666

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Большое спасибо! Сегодня опробую.

    Всего записей: 31 | Зарегистр. 24-03-2011 | Отправлено: 11:55 15-04-2011
    timotv

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    PsExec could not start
     
    Использование psexec от sysinternals для удалённого завершения работы сидбокса через LAN.
     
    Поскольку никогда не пользовал, то есть проблемы... Может кто подскажет.
    после попытки выполнить

    Код:
    psexec \\tim-nas -u admin -p 1 "D:\psshutdown.exe -k"

     
    psshutdown.exe - тоже утилита от sysinternals из одного набора. Диск "D:\" находится на удаленной машине.
     
    Выдаёт:
    PsExec could not start D:\psshutdown.exe -k on tim-nas:
    &#9552;х єфрхЄё* эрщЄш єърчрээ&#8730;щ Їрщы.

     
    При этом работает комманда:

    Код:
    psexec \\tim-nas -u admin -p 1 cmd

     
    из которой я уже могу запустить D:\psshutdown.exe
     
    Следующая комманда также является успешной:

    Код:
    psexec \\tim-nas -u admin -p 1 cmd /c "D:\psshutdown.exe -k"

     

    Всего записей: 6 | Зарегистр. 16-04-2011 | Отправлено: 15:17 16-04-2011
    praidik



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте.
    Подскажите пожалуйста почему в коде
     
    blat.exe -install -server smtp.mail.ru -port 25 -f майл@mail.ru -u логин -pw пароль
    blat.exe C:\123.br -to майл@mail.ru -subject "Pass for you"
     
    не крепится файл C:\123.br и не отсылается на майл?

    Всего записей: 39 | Зарегистр. 15-11-2010 | Отправлено: 18:43 16-04-2011
    AlexeyFX



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте, помогите решить такую задачу:
    Есть батник build_module.bat, ниже его содержимое

    Код:
    @echo off
    python process_init.py
    python process_global_variables.py
    python process_strings.py
    python process_skills.py
    python process_music.py
    python process_animations.py
    python process_meshes.py
    python process_sounds.py
    python process_skins.py
    python process_map_icons.py
    python process_factions.py
    python process_items.py
    python process_scenes.py
    python process_troops.py
    python process_particle_sys.py
    python process_scene_props.py
    python process_tableau_materials.py
    python process_presentations.py
    python process_party_tmps.py
    python process_parties.py
    python process_quests.py
    python process_info_pages.py
    python process_scripts.py
    python process_mission_tmps.py
    python process_game_menus.py
    python process_simple_triggers.py
    python process_dialogs.py
    python process_global_variables_unused.py
    python process_postfx.py
    @del *.pyc
    echo.
    echo ______________________________
    echo.
    echo Script processing has ended.
    echo Press any key to exit. . .
    pause>nul

    Имеется портативная сборка python 2.6.
    Мне нужно заставить интерпретатор python.exe пакетно обрабатывать определённые питоновские скрипты, приведенные в батнике, как это сделать? Я пробовал - Путь/python.exe process_init.py, но ничего не выходит. Я знаю что установка питона в систему поможет, но меня интересует исключительно вариант с портабельной сборкой питона. Заранее благодарю за любое содействие и помощь в этом вопросе.

    Всего записей: 50 | Зарегистр. 15-02-2011 | Отправлено: 19:48 16-04-2011 | Исправлено: AlexeyFX, 19:56 16-04-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AlexeyFX
    Возможно питон не доступен из батника.
    Наверняка какие-нибудь ошибки валят. Какие?

    Цитата:
    Путь/python.exe

    Вообще в виндах используется обратный слэш для указания пути: \

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 21:16 16-04-2011 | Исправлено: res2001, 21:17 16-04-2011
    AlexeyFX



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001
    Спасибо, я разобрался, видимо ему не нравилась кириллица в пути, а Путь/python.exe это, конечно опечатка, в батнике я правильно писал. Сейчас прописал D:\Python_2.6\App\python.exe process_init.py и всё заработало, спасибо за участие, надеюсь кому-нибудь это пригодится.

    Всего записей: 50 | Зарегистр. 15-02-2011 | Отправлено: 22:41 16-04-2011
    lorents



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

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 17:22 17-04-2011 | Исправлено: lorents, 18:08 17-04-2011
    Nightwalker666

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

    Цитата:
    Если ты создаешь батник блокнотом, то его кодировка будет 1251, в этом случае в начало батника добавь команду  
     >nul chcp 1251

     
    То есть у меня сейчас должно выглядеть так?:
     
    >nul chcp 1251
    @echo off  
       
     1>nul 2>&1 ping  -n 1 ya.ru && goto:eof || (  
       
         cnic "Подключение по локальной сети" -d  
         cnic "Подключение по локальной сети" -c  
       
     )
     
    А как насчёт названия подключения "Подключение по локальной сети", распозает?

    Всего записей: 31 | Зарегистр. 24-03-2011 | Отправлено: 08:53 18-04-2011
    res2001



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

    Цитата:
    >nul chcp 1251

    Можно поставить после @echo off.
    По поводу работы cnic - я эту утилиту не юзал, вообще должна отработать, если правильно написана

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 09:13 18-04-2011
    bredonosec



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

    Цитата:
    Узнать принадлежность текущего юзера к группам можно так:
    wmic path Win32_GroupUser where (partcomponent="Win32_UserAccount.Domain=\"%USERDOMAIN%\",Name=\"%USERNAME%\"")

    я не очень уловил..  
    Данная команда просот выдает имя домена и имя юзера.  
    А мне надо уточнить, к какой группе юзеров он относится. К группе администраторов, к группе юзеров, или к иной группе..  
     
    Точнее, именно задать условие "если %username% принадлежит к группе админов, - переход туда-то. Если не принадлежит - выполнить то-то.

    ----------
    Вопрос: 'Что человек курит?' как правило возникает не когда ты слышишь, как он дышит, а когда видишь, что он пишет
    Пропеллер играет роль вентилятора, он останавливается -пилот потеет
    Аськи нету.

    Всего записей: 16269 | Зарегистр. 13-02-2003 | Отправлено: 12:37 18-04-2011
    res2001



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

    Цитата:
    Данная команда просот выдает имя домена и имя юзера.  
    А мне надо уточнить, к какой группе юзеров он относится. К группе администраторов, к группе юзеров, или к иной группе..  

     
    Данная команда выдает список групп, которым принадлежит данный пользователь.
    Делай так:

    Код:
    for /f "delims=" %%a in ('wmic path Win32_GroupUser where ^(partcomponent^="Win32_UserAccount.Domain=\"%USERDOMAIN%\",Name=\"%USERNAME%\""^) ^| findstr "Администраторы" ') do goto:admin

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 13:32 18-04-2011 | Исправлено: res2001, 13:54 18-04-2011
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001 что-то мне этот запрос wmic нашел только что я в группе "Debugger Users" на локальном компе и к кучке доменных, включая "Domain Admins"
    что в локальную группу Администраторы входят "Domain Admins" - wmic  тщательно скрывает, findstr  соответственно ничего не находит...

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 15:01 18-04-2011 | Исправлено: wolf0425, 15:06 18-04-2011
    5peciali5t



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    уважаемые завсегдатаи!
     
    интересует такой вопрос.
    есть необходимость в зависимости от имени запускаемого cmd или 7zip sfx - exe запускать его с разными опциями. например:
     
    если совпадает имя silent - двойной клик приводит к тихой бесключевой установке
    иначе если совпадает имя portable - запуск портативкой
    а если ничего не совпало - запуск обычного окна 7z sfx для выбора - repack  
     
    пока пришел к такому виду
    if %~n0==silent (echo SILENT) else if %~n0==portable (echo PORTABLE) else echo REPACK
     
    echo SILENT здесь меняется на нужную мне команду запуска
     
    если переименовать cmd файл в silent или portable - все корректно возвращается текущим echo, если имя не совпадает - возвращается repack и соответственно выполняются заданные ему действия, но все имена зависимы от регистра, т.е.  
    если пользователь напишет SILENT или Silent оно не равно silent
     
    задача: как попроще сделать проверку условия регистронезависимой?

    Всего записей: 1472 | Зарегистр. 17-07-2009 | Отправлено: 15:35 18-04-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