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

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

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

vu1tur (11-09-2007 15:22): продолжаем в теме Задачи на bat-файлах 4  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:54 27-04-2007 | Исправлено: Elroir, 03:59 10-09-2007
    Lutvun



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    2 01MDM
    Я могу любой дос использовать с лубыми файлами. Мне не сильно росходитса.

    Всего записей: 286 | Зарегистр. 22-11-2005 | Отправлено: 11:10 22-08-2007
    01MDM



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

    Код:
     
    @ECHO OFF
    echo выбери нужый образ:
    echo 1 - 1 диск, 1 раздел
    echo 2 - 1 диск, 2 раздел
    echo 3 - 2 диск, 1 раздел
    echo 4 - 2 диск, 2 раздел
     
    choice /C:1234
    if errorlevel 1 set disk=1:1
    if errorlevel 2 set disk=1:2
    if errorlevel 3 set disk=2:1
    if errorlevel 4 set disk=2:2
     
    ghost -clone,mode=pload,src=.\gho\2k3.gho:1,dst=%disk%
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:13 22-08-2007
    Lutvun



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не совсем то. Такое я могу сделать и через BCDW. Нужно чтоб показывало только сущиствующие разделы. И жылательно хоть какуюто инфу о них(например размер).

    Всего записей: 286 | Зарегистр. 22-11-2005 | Отправлено: 11:16 22-08-2007
    01MDM



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

    Цитата:
     
    List all local hard drives including megabytes free and megabytes total.
    DRVSPACE /LI |FIND.EXE "Local hard drive"
     

     
    Поковыряйся здесь http://home7.inet.tele.dk/batfiles/batfiles.htm

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:26 22-08-2007
    boomman37

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача.
    1. Поменять у одного из двух физических интерфейсов IP, шлюз и DNS.
    2. Создать VPN подключение с нужными настройками.
    3. Автоматически его подключить (это rasdial вроде).

    Всего записей: 13 | Зарегистр. 22-08-2007 | Отправлено: 12:11 22-08-2007
    paveltr



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача: запускать программу при выходе из Спящего режима (Hibernation)
     
    1.Делаем событие для журнала
    Код:
    eventcreate /l SYSTEM /so "RunDll32.exe powrprof.dll,SetSuspendState" /t INFORMATION /id 666 /d Hibernate

    2.Делаем для него триггер с запуском батника
    Код:
    eventtriggers /create /tr Hibernation_Script /l SYSTEM /eid 666 /t INFORMATION /so "RunDll32.exe powrprof.dll,SetSuspendState" /d "Hibernation detection" /tk c:\00.bat

    3.В батнике одна строка:
    Код:
    c:\00.lnk
    (для пробы сделал ярлык к блокноту)
     
    Что имеем: Событие генерится, триггер срабатывет, процесс запускается (в диспетчере задач он виден), НО! Окно блокнота невидимо, хотя вроде бы запущено под текущем пользователем
     
    Вопрос: Можно ли это как-то исправить? Или может есть другие варианты решить задачу?

    Всего записей: 18 | Зарегистр. 01-04-2006 | Отправлено: 13:31 22-08-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    paveltr
    А зачем запускать блокнот?
    Запусти то что не требует интерактивности

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:19 22-08-2007
    paveltr



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    Сформулирую малость иначе. Если программа висит в автозагрузке (тот же блокнот), при загрузке винды она запустится и будет перед глазами висеть (так и надо). Если же использовать спящий режим, то при входе в систему автозапуск не срабатывает. Вот и хотелось бы придумать ему замену на этот случай.
    Т.е. интерактивность как раз и нужна!
     
    + да и просто интересно почему именно так срабатывает

    Всего записей: 18 | Зарегистр. 01-04-2006 | Отправлено: 15:48 22-08-2007 | Исправлено: paveltr, 15:48 22-08-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    paveltr
    Если ты будешь создавать событие от своего имени (eventtrigger /create /u paveltr), то и окно блокнота должно быть видимым.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 15:49 22-08-2007
    paveltr



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Всё делал под одним пользователем, с правами администратора. Можете у себя попробовать
    Добавление к обеим командам /s ИмяКомпьютера /u Домен\Пользователь ничего не дало

    Всего записей: 18 | Зарегистр. 01-04-2006 | Отправлено: 16:09 22-08-2007 | Исправлено: paveltr, 16:16 22-08-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    paveltr
    Ты указывал ключ /U <пользователь> ?
    Если не указать, то триггер создастся с системными правами, что не подразумевает интерактивности (по аналогии с заданиями по расписанию).

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:18 22-08-2007
    paveltr



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Да, прописал и /U и /S (на один только /U ругается), картина та же - в процессах программа висит, визуально её нет.
     
    На домашнем компьютере ещё вечером попробую, который не в домене
     
     
    Добавлено:
    Ну вобщем так... Дома вообще ничего не запускается почему-то, хотя и событие в журнале есть и триггер создаётся
     
    При использовании ключей /S /U /P для eventtriggers выдаёт предупреждение:
    Учетные данные пользователя не могут быть использованы для местных подключений
     
    Пробовал eventcreate с теми же ключами и без, но ничего не заработало. Даже не знаю в чём дело... Завтра на работе попытаюсь домучить, я помоему /P не указывал там - надо проверить
     
    Кстати, для созданных триггеров по eventtriggers /query /v в столбце "Запустить от имени (пользователь)" пишет NT AUTHORITY\SYSTEM, и учитывая невосприимчивость к ключам, похоже что для систем, работающих не в домене это изменить нельзя. Так что, видимо, даже если бы блокнот и запустился, всё равно был бы невидим
     
    У кого-нибудь есть по всему этому идеи?

    Всего записей: 18 | Зарегистр. 01-04-2006 | Отправлено: 16:28 22-08-2007
    Lutvun



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

    Цитата:

    Цитата:
    List all local hard drives including megabytes free and megabytes total.  
    DRVSPACE /LI |FIND.EXE "Local hard drive"  

     
    Поковыряйся здесь http://home7.inet.tele.dk/batfiles/batfiles.htm

     
    Спасибо. Это уже чтото. Насколько я понял должны были отобразитса только логические диски, вываливаетса ошыбка доступ запрещён. Это не суть важно(запустил без find). Всёравно DRVSPACE не показывает инфы о том какой раздел какому диску(винчестеру) пренадлежыт. Что с этим можна сделать. И как сделать так, чтоб задавалса вопрос сразу с вариантами ответов (реальными разделами, а не всеми перечислеными)

    Всего записей: 286 | Зарегистр. 22-11-2005 | Отправлено: 00:22 23-08-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    paveltr
    А почему бы в батничке, который выполняется по событию не создать задачу по расписанию и она запустит нужную программу
    AT /?
    SCHTasks /?

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 01:08 23-08-2007
    boomman37

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

    Цитата:
    Задача.
    1. Поменять у одного из двух физических интерфейсов IP, шлюз и DNS.
    2. Создать VPN подключение с нужными настройками.
    3. Автоматически его подключить (это rasdial вроде).

    Ну подскажите пожалусто, в какую сторону копать.

    Всего записей: 13 | Зарегистр. 22-08-2007 | Отправлено: 12:03 23-08-2007
    Elroir



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

    Цитата:
    Ну подскажите пожалусто, в какую сторону копать.

    Лопату в зубы и вперед :
    1. Посмотри встроенную в Windows утилиту netsh
    2. Утилиту, которая бы создавала VPN соединение из командной строки, я не нашел.
        Но все эти соединения хранятся в текстовом виде в файле rasphone.pbk (найдешь поиском). Если разберешься в его структуре - можно дописать в него необходимые параметры.
    3. rasdial.

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 13:47 23-08-2007
    paveltr



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    Спасибо за идею, попробую. Что-то всё это становится похожим на удаление гланд через то самое место

    Всего записей: 18 | Зарегистр. 01-04-2006 | Отправлено: 13:56 23-08-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    paveltr
    Расскажешь что вышло
     
    ЗЫ. Кажется в nnCron есть такое условие, но точно не помню

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:05 23-08-2007
    boomman37

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

    Цитата:
    2. Утилиту, которая бы создавала VPN соединение из командной строки, я не нашел.
        Но все эти соединения хранятся в текстовом виде в файле rasphone.pbk (найдешь поиском). Если разберешься в его структуре - можно дописать в него необходимые параметры.  

    Нашел решение в самом неожиданном месте. http://support.microsoft.com/kb/284269

    Всего записей: 13 | Зарегистр. 22-08-2007 | Отправлено: 15:56 23-08-2007
    paveltr



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ну более-менее разобрался с задачей, отчитываюсь...
     
    У меня была запутка с eventcreate, вязванная вероятно фразой из описания её параметров:
    "/so имя_источника
    Задание источника, используемого для данного события. Допустимый источник может быть представлен любой строкой и должен указывать на приложение или компонент, в котором произошло событие. "
     
    Я так понял эту фразу, что команда eventcreate создаёт именно событие с источником /so, при наступлении которого заносится соответствующая запись в журнал. Всё совсем не так. Команда всего лишь создаёт запись о событии, фактически добавляет строку к журналу в соответствии с теми параметрами, которые мы указываем с командой eventcreate. Параметр /so даже не является обязательным! Никаких наблюдений за аналогичными системными процессами она не ведёт
     
    Т.е. для моей задачи решения при помощи eventcreate не придумать, т.к. при переводе системы в спящий режим записи в журнал не добавляются
     
    С eventtriggers тоже рабобрался, там параметры /U /P отвечают за то, с какими правами запускать саму команду eventtriggers, потому и ругалась она когда указываешь текущего пользователя - ведь он применяется по умолчанию и явно его указывать не надо. Но кроме них ещё есть параметры /RU пользователь /RP пароль, и они-то определяют учётку, под которой выполняется команда из /TK. С указанием здесь нужных данных Блокнот стал видимым
     
    Похоже, что не так просто решается поставленная задача... Хотелось бы всё штатно сделать, без использования сторонних программ (я про вариант с nnCron). Есть ещё вариант с настройкой аудита (чтобы создавалась запись о hibernate в журнале Безопасности) + eventtriggers, но с этим ещё надо поковыряться.

    Всего записей: 18 | Зарегистр. 01-04-2006 | Отправлено: 20:15 23-08-2007 | Исправлено: paveltr, 23:27 23-08-2007
       

    Страницы: 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-файлах 3
    vu1tur (11-09-2007 15:22): продолжаем в теме Задачи на bat-файлах 4


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru