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

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

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

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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 16:59 14-11-2006 | Исправлено: Elroir, 04:30 26-04-2007
    Starley25



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Речь идет не о взломе, естественно я знаю пароль, но как я понимаю тот софт от чьего имени запускается батник не обладает достаточными правами, на выполнение задачи на другом компе, проблемма именно в том как с помощью батника эти права дать, может нужно действовать от имени сервиса? В смысле создать сервис и там уже дальше все как полагается, я вообщето в этом не силен, но покатавшись по форумам натолкнуло на мысль.
     
    С уважением Starley25.

    Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 18:04 24-04-2007 | Исправлено: Starley25, 18:06 24-04-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Starley25
    Тогда более четко обрисуй задачу

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 18:09 24-04-2007
    Starley25



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Хорошо, есть такой замечательный продукт MOM 2005 опуская всевозможную мишуру, он создает по определенным правилам сообщения в некой консоли, так вот этим правилам можно задать выполнение какой либо команды в зависимости от их появления. Мне необходимо сделать так, чтобы сервак MOM'а запускал на управляющей станции оповещение, самый простой путь - это запуск некой музыки.
     
    С уважением Starley25.

    Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 18:22 24-04-2007 | Исправлено: Starley25, 18:24 24-04-2007
    delphi2459

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не как не могу написать батник.  
     
    В папку складываются файлы, кот наз  xxx_месяц-день-год.img
     
    Нужно написать батник, кот проверяет все файлы в данной папке по дате создания и к файлу, кот самый свежий применяет какие-либо действия

    Всего записей: 2 | Зарегистр. 01-03-2007 | Отправлено: 20:32 24-04-2007
    Elroir



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

    Код:
     
    @echo off
    for /f "tokens=*" %%a in ('dir *.img /od /tc /b') do set last_file=%%a
    echo %last_file%
     

    В переменной last_file будет имя нужного файла. Если нужен полный путь к этому файлу,  включая его имя, тогда надо изменить last_file=%%a, на last_file=%%~fa.

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:45 24-04-2007
    Starley25



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Неужели мой вопрос не достоин ответа, или он совсем прост, что уважаемые не отвечают? Хелп ми рлиаз.
     
    С уважением Starley25.

    Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 03:25 25-04-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Starley25
    Вопрос-то ответа достоин . Только вот ответить достаточно сложно - я, например, так и не уяснил для себя, что именно надо сделать и как.

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 03:39 25-04-2007
    Starley25



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есчо раз. MOM 2005 это Microsoft Operation Manager 2005, работает так, собирает события из сети, т. е. к примеру в Event View'вере появилось сообщение, что сервер N был некоректно перезагружен, так как на данном сервере установлен агент MOM 2005, то при следующем запуске перезагруженного сервера в Event View'вере появится сообщение о происшедшем, агент MOM'а отплюнет его в консоль Оператора, а так как человеческая лень границ не знает, то опереатор может его просто не заметить, а вот если прозвучит к примеру похоронный марш, то он явно его услышит. Средствами MOM'а можно при появлении в консоли событи запустить бат файл. Так вот, при использовании стандартных команд мы обламываемся, так управляющая тачка на которой и надо запустить музыку, мягко говоря ограничена в возможности выполнения на ней каких либо действий, кроме Domain Admins. Я подозреваю, что батник запускается от имени MOM'а и у него прав недостаточно. Однако и ему дать прова Domain Admins тоже нельзя дать - безопасность. Так вот вопрос как заставить выполняться команду запуска музыки на управляющей тачке (это тачка, что-то типа глобальной управлялки в сети).
     
    С уважением Starley25.
     
    Добавлено:
    По сути дела вопрос: как запустить процесс, приложение с одного компа с меньшими привелегиями на любом другом компе, зная все пароли и явки.
     
    С уважением Starley25.

    Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 03:53 25-04-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Starley25
    Да... уяснил. Команда "at" выполняет задания от имени System. То есть нужно в батнике взять текущее время, добавить к нему минуту и запустить звук по команде at, поставленой на это время. Посмотри справку по команде at.

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 04:21 25-04-2007
    Starley25



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нет, немного не так. Время взять нельзя, так оно не определено, событие может произойти в любое время дня и ночи, какое время мы можем взять? Или я ламер.  
     
    С уважением Starley25.
     
    Добавлено:
    Проверил лично, локально все прокатывает, а вот кода по сети отправляем задание то как обычно access denied. По моему AT в моем случае не поможет, если я не прав приведите пожалуйста пример. Тут до меня дошло, что вы имели ввиду именно взятие текущего времени, понял что вы хотели сказать, звиняюсь, тока вот не знаю как взять текущее время. Я вас правильно понял, запускается батник и какой-то командой берется текущее время?
     
    С уважением Starley25.

    Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 04:42 25-04-2007 | Исправлено: Starley25, 07:47 25-04-2007
    Maza Faka



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

    Цитата:
    какой-то командой берется текущее время?

    %TIME% переменная, значением которой является текущее время...
    IМHО лучше воспользоваться командой SCHTASKS чем AT...

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:39 25-04-2007
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    Насколько я понял из переписки, требуется прибавить к текущему времени минуту, чтоб потом скормить его команде at Есть идеи по этому поводу?

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 08:52 25-04-2007
    Maza Faka



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

    Цитата:
    Есть идеи по этому поводу?

    А-то!

    Код:
     
    @Echo off
    Set CurTime=%Time:~3,2%
    Set /a CurTime+=1
    If "%CurTime%"=="60" (Set CurTime=00)
    Echo %CurTime%
     

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 09:32 25-04-2007 | Исправлено: Maza Faka, 09:32 25-04-2007
    Starley25



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ну блин, я даже не ожидал, что все окажется так сложно, не нужно мне прибавлять минуту, брать время и т. д. schtask опять же палит пароль и пасворд - не безопасно. Мне нужно запустить с одного компа на другом проигрывание mp3 файла.
     
    С уважением Starley25.

    Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 10:08 25-04-2007
    Maza Faka



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

    Код:
     
    @Echo off  
    Set CurTime=%Time:~3,2%  
    Set /a CurTime+=1  
    If %CurTime% LEQ 9 (Set CurTime=0%CurTime%)  
    If "%CurTime%"=="60" (Set CurTime=00)
    Set CurTime=%Time:~0,2%:%CurTime%:00
     
    Schtasks /create /tn "Alert" /tr C:\Windows\Notepad /sc once /st %CurTime%
     

    Через минуту после запуска батника запуститься "Блокнот"
    А можно не париться со временем и запустить задание на однократное выполнение
     
    Добавлено:
    Starley25

    Цитата:
    Мне нужно запустить с одного компа на другом проигрывание mp3 файла.

    В помощь тебе утилита PSEXEC.EXE

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 10:19 25-04-2007
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    а теперь попробуй запустить батник, когда на часах 08:09 и подивись результату
    да и на конец часа вычислитель реагирует полностью неадекватно.

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 10:51 25-04-2007
    Tipulatoid



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

    Цитата:
    А-то!

    Дык код твой часы-то не переводит, если текущее время 12:59:35, например Ну, да ладно, на данный момент это чисто теоретическая проблема.
    Starley25
    И вправду, попробуй PSEXEC.EXE А если тебя смущает, что в теле батника будет прописан пароль и логин в открытом виде, то воспользуйся компилятором для батников. Он из bat-файла сделает exe-файл и ничего уже не прочтешь.

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 10:54 25-04-2007
    Starley25



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Хорошо, честно говоря самое первое, чтомне пришло в голову это и был psexec, но меня действительно смущала открытость пароля, если это можно откомпелировать, то посоветуйте чем, желательно линк на прогу.
     
    С уважением Starley25.

    Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 10:59 25-04-2007
    delphi2459

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
     
    Спасибо) немного изменил
    @echo off  
    dir /o-d /b /tc f:\work\images\W2003Entx32\ >> dir.txt
    for /f "tokens=*" %%a in (dir.txt) do set last_file=%%a  
    echo UNIVERSAL IMAGE FOR DATE OF THE CREATION: %last_file%
     
    f:\rdeploy\windows\rdeploy.exe -md -f f:\work\images\W2003Entx32\%last_file%
    del dir.txt
     
    вчера сделал но не много по другому:
     
    REM DISTRIBUTIVE UNIVERSAL IMAGE FOR NEW DATE OF THE CREATION
    @echo off
    setlocal
    dir /o-d /b /tc f:\work\images\W2003Entx32\ >> dir.txt
    for /f "usebackq tokens=*" %%I in (dir.txt) do ( if not defined fname set fname=%%I )
    echo UNIVERSAL IMAGE FOR DATE OF THE CREATION: %fname%
     
    f:\rdeploy\windows\rdeploy.exe -md -f f:\work\images\W2003Entx32\%fname%
    del dir.txt

    Всего записей: 2 | Зарегистр. 01-03-2007 | Отправлено: 11:07 25-04-2007
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Starley25
    Дык я же дал линк В моем предыдущем посте кликни на слове "компилятором" и все Или поищи в Google "Quick Batch File Compiler"

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 11:12 25-04-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 100

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 2
    vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru