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

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

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

vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 12:40 25-01-2010 | Исправлено: bomzzz, 13:37 20-08-2010
    Nomasster



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет!
    Нужна помощь по созданию bat-файла, при запуске которого удалялось бы следующее:
    Содержимое HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
    Любые Vid-ы в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_ХХХХХХ_ХХХХ  
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_ХХХХ  
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSetХХХ\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b  
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSetХХХ\Enum\USB\Vid_ХХХХХХ_ХХХХ
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSetХХХ\Enum\USBSTOR\ Disk&Ven_ХХХХ
    с любыми числовыми значениями вместо Х
    К этим веткам доступ на удаление имеет только пользователь system, поэтому может быть как-нибудь можно воткнуть в bat-файл команду at xx.yy /interactive  ?  
    В итоге должно получиться удаление информации о всех ранее подключённых  к системе usb-устройствах.
    Возможно ли такое написать и чтобы еще и работало?)))

    Всего записей: 74 | Зарегистр. 31-05-2007 | Отправлено: 11:46 23-06-2010
    wolf0425



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

    Цитата:
    К этим веткам доступ на удаление имеет только пользователь system, поэтому может быть как-нибудь можно воткнуть в bat-файл команду at xx.yy /interactive  ?  
    нафига тебе интерактив? создать список на удаление, посчитать время, после чего запихнуть в at  REGEDIT /S pathname и подождать минуту.
     

    Цитата:
    К этим веткам доступ на удаление имеет только пользователь system,  
    кстати, в какой системе такое ограничение? у меня и админам там всё разрешено, незачем с at извращаться
     

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 12:04 23-06-2010 | Исправлено: wolf0425, 12:13 23-06-2010
    res2001



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

    Цитата:
    менеджер наверно же вернул код ошибки - ожидаемо было что sc его дальше транслирует.  

    Было бы логично ожидать такого поведения, но, видимо, у мелкософта другое мнение
     
    Nomasster
    команда reg тебе в помощь.

    Цитата:
    К этим веткам доступ на удаление имеет только пользователь system

    В 2000/XP и в Win2003 администраторы имеют доступ ко всем веткам реестра.
    За висту, семерку и 2008 не скажу - нет под рукой, но думаю, что там аналогично.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 12:09 23-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001
    Vista/7 - это такая зверушка... Вобщем не всё так очевидно...
    wolf0425

    Цитата:
    менеджер наверно же вернул код ошибки - ожидаемо было что sc его дальше транслирует.

    Мне кажется что манагер служб вернул ошибку, о чём sc радостно написал "FAILED %errorlevel%" (SC прочитал STDERR и вывел на терминал?), после чего как конец уже своей работы sc вернул в STDERR радостный 0- мол сам SC отработал без проблем. Поэтому или вывод STDERR манагера попытаться как- то выдернуть, или findstr юзать...

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 12:59 23-06-2010
    wolf0425



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

    Цитата:
    после чего как конец уже своей работы sc вернул в STDERR радостный 0- мол сам SC отработал без проблем.
    sc по жизни ненулевой код не возвращает - даже при ошибочных коммандах.
     
     
    Добавлено:

    Цитата:
    Vista/7 - это такая зверушка...
    да, в семерке на HKLM\SYSTEM\ControlSet001 - права уже только у системы, админам же предлагается извращаться.
     
    Интересно, а такое удаление - насколько массово/часто планируется делать, надеюсь не один раз?  

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 13:19 23-06-2010 | Исправлено: wolf0425, 13:30 23-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    Эмм... Я вобщем о том же... sc всегда отрабатывает нормально- отправил комманду манагеру сервисов, отловил и вывел на терминал его ответы и всё... Вся работа... Тут можно как аналог net start посмотреть- может он чего больше даст...

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 13:35 23-06-2010
    gryu



    дикий гусь
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Коллеги, кто занимался скрещиванием кодов vbs и cmd?
    Я хотел реализовать задачу вызова окна выбора файла и последующей передачи его в переменную при помощи кода vbs.  
    Кто нить это делал?

    Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 13:53 23-06-2010 | Исправлено: gryu, 13:54 23-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gryu
    Ну... Если vbs сможет записать системную переменную или файл создать с нужной инфой- то из bat прочитать и то и другое- уже не проблема)

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 14:17 23-06-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    gryu
    Пытался в свое время так делать. Переменные можно установить в vbs, но в тот же батник они не передадутся.
    В итоге делал через промежуточный файл. Как вариант через операцию "|".

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 14:19 23-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SPY
    Экспортируй ключи эски относящиеся к настройкам (пути к базе, имена баз и т.д.). Залей куда- нить и скинь ссылку- посмотрю...

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 14:22 23-06-2010
    wolf0425



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

    Цитата:
    sc всегда отрабатывает нормально- отправил комманду манагеру сервисов,  

    не, команда же может быть и неправильной - это sc отлавливает сам. но и в таком случае выдает нулевой код и просто печатает инструкцию, что непривычно.
     
    gryu
    Цитата:
    Я хотел реализовать задачу вызова окна выбора файла и последующей передачи его в переменную при помощи кода vbs.
    напрямую в переменную не получится, но можно поизвращаться с stdout.
    с гуем я не скрещивал, мне просто логарифм нужен был:
    Код:
    for /f %%a in ('cscript //nologo //e:jscript "%~f0"  %Plength% %slength% ') do set complex=%%a

    ну или через промежуточный файл передай, если одновременно и иметь гуевое окно и писать в stdout не получится

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 14:32 23-06-2010 | Исправлено: wolf0425, 14:47 23-06-2010
    gryu



    дикий гусь
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    гм.  
    "Нам бы схемку аль чертёж..." (с)
    Я не знаю языка vbs.
    Мне собственно нужно  
    1. выбор файла  
    2. выбор папки

    Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 15:23 23-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gryu
    А погугли ка (у мну времени нет) о rundll32.exe... Не исключено (где- то на oszone.net) что была возможность вызова окошка прямиком из батнега... Если не ошибаюсь- было связано с InfInstall...

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 15:32 23-06-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    gryu
    В стандартном VBS нет возможности показать такое окно. Можно попробовать извратится через ишака это сделать с соответствующим html шаблоном. Но готового решения у меня тоже нет.
    us0r
    Возможно через rundll32.exe и можно вызвать окно выбора файла, но rundll32.exe не передаст выбранный файл назад в батник.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 15:49 23-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001
    Разве путь к файлу/папке пишется в /dev/nul? По моему путь к файлу/папке он должен куда- то засовывать (ну в переменную, дескриптор STDIN, ещё куда)...
    А насёт VBS- ну это в соответствующую ветку... Но вроде бы это возможно... ActiveX/OLE IE и не только дадут это сделать... Просто я непомню(((

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 15:55 23-06-2010
    JekaRus

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Как можно экспортнуть названия всех групп в AD со списком всех кто входит в каждую группу?

    Всего записей: 1046 | Зарегистр. 10-08-2005 | Отправлено: 16:37 23-06-2010
    wolf0425



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

    Цитата:
    "Нам бы схемку аль чертёж..." (с)
    Я не знаю языка vbs.
    Мне собственно нужно  
    1. выбор файла  
    2. выбор папки  

    держи пример гибрида для выбора файлов.
    js часть - цельнотянутая (на 99%), но вроде работает. чего ещё сокращать - к спецам.
    ps: если кто не понял - это типа батник, правда от батника там четыре первые строки кода, которые вызывают js часть и обрабатывают результат вызова.
     
     
    Добавлено:
    JekaRus
    Цитата:
    Как можно экспортнуть названия всех групп в AD со списком всех кто входит в каждую группу?
    наверно отпарсить net group, членов вытащить оттуда же
     

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 16:56 23-06-2010 | Исправлено: wolf0425, 17:23 23-06-2010
    ComradG



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001
    http://forum.ru-board.com/topic.cgi?forum=5&topic=33080&start=480#lt

    Всего записей: 2041 | Зарегистр. 05-07-2008 | Отправлено: 17:38 23-06-2010 | Исправлено: ComradG, 17:39 23-06-2010
    JekaRus

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Нашел скрипт экспорта из АД групп. Как теперь в полученном файле удалить все строчки содержащие слово Disable?

    Всего записей: 1046 | Зарегистр. 10-08-2005 | Отправлено: 17:49 23-06-2010
    king_stiven

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

    Цитата:
    Как теперь в полученном файле удалить все строчки содержащие слово Disable?

    FINDSTR
    /C:строка  Использует заданную строку как искомую фразу поиска.
    /V         Печатает строки, не содержащие совпадений с искомыми.

    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 18:03 23-06-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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 8
    vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru