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

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

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

vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:37 26-05-2009 | Исправлено: TechnicsKuzya, 13:53 27-12-2009
    SANIOK_AV



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

    Цитата:
    по поводу cpau, adminlink, execas    
    которая то позволяет админу разрешить рядовому пользователю запускать программы (из списка) от имени другого пользователя (например админа) не зная пароля.  

    понятненько ...
    к стати очень понравилась идея из статьи про admilink по поводу запуска инетбраузера из под пользователя с обрезанными правами...
    реализовал это у себя так:

    Код:
    runas.exe /savecred /user:localhost\user "C:\Program Files\Internet Explorer\iexplore.exe"

    но во всех этих случаях нужно наличие утилиты на компьютере на котором будет что-то запускаться под другой учётной записью...
    а я бы всё таки хотел добиться запуска без использования сторонних утилит...
    в идеале хотелось бы так:
    написать батник в котором пароль админа будет указан явно...
    а потом зашифровать его в экзешник ...

    Всего записей: 485 | Зарегистр. 31-03-2009 | Отправлено: 14:39 14-09-2009 | Исправлено: SANIOK_AV, 14:41 14-09-2009
    Kiev78

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

    Цитата:
    написать батник в котором пароль админа будет указан явно...
    а потом зашифровать его в экзешник  

    http://forum.ru-board.com/topic.cgi?forum=35&topic=24015#1
    Насчёт шифровки не уверен.

    Всего записей: 244 | Зарегистр. 17-06-2006 | Отправлено: 18:35 14-09-2009
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    господа батнописцы, а :: и ; - это в батнике равносильно rem ??

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 19:07 14-09-2009
    Kiev78

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

    Цитата:
    ; или , команда1 параметр1;параметр2 Используется для разделения параметров команды.  

    А вообще, можешь почитать сам  - c:\WINDOWS\Help\ntcmds.chm

    Всего записей: 244 | Зарегистр. 17-06-2006 | Отправлено: 19:51 14-09-2009
    wolf0425



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

    Цитата:
    если ввести start->run->taskkill, то окно после отработки закроется.
    что логично: закончила программа выполнение - закрылась.
    Цитата:
    А если start->run->cmd то окно останется в интерактивном режиме
    что тоже логично: запущена программа для работы в интерактивном режиме, пока не скомандуешь ей что хватит, завершайся - сидит в памяти и работает. Из под нее можно запустить taskkill, который завершится, вернет код ошибки и свою память освободит - продолжит работу cmd.
    Когда ты кликаешь в эксплорере на батник - cmd запускается не в интерактивном, а в пакетном режиме. и что ты в батнике не делай - эту копию cmd ты в интерактивный режим уже не переведешь (хотя можешь запустить еще одну).
     
    Вообще говоря настройки системы поправить можно так, что клик по батнику будет запускать смд в интерактивном режиме. Но это - вредительство

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 20:58 14-09-2009 | Исправлено: wolf0425, 01:04 15-09-2009
    mugil_cephalus

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

    Цитата:
    что тоже логично: запущена программа для работы в интерактивном режиме, пока не скомандуешь ей что хватит, завершайся - сидит в памяти и работает. Из под нее можно запустить taskkill, который завершится, вернет код ошибки и свою память освободит - продолжит работу cmd.  
    Когда ты кликаешь в эксплорере на батник - cmd запускается не в интерактивном, а в пакетном режиме. и что ты в батнике не делай - эту копию cmd ты в интерактивный режим уже не переведешь (хотя можешь запустить еще одну)

    все понял, спасибо!

    Цитата:
    Вообще говоря нfстройки системы поправить можно так, что клик по батнику будет запускать смд в интерактивном режиме. Но это - вредительство  

    это ты про реестр наверное, но согласен , что это будет уже свинство
     
    да и спасибо за pause - погонял батники - все ок - а то приходилось возиться с  
    @echo off  
    rem cls  
    %1 %2  
    .......
     
    да, еще, только pause или обязательно еще и & exit 0 ?

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 21:13 14-09-2009 | Исправлено: mugil_cephalus, 21:23 14-09-2009
    wolf0425



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

    Цитата:
    да, еще, только pause или обязательно еще и & exit 0 ?
    команда exit 0  конечно не обязательна.
    Просто она закрывает окошко если батник запустили новым окном через команду start, временами удобно. недостаток - если такой батник запустить просто из окна cmd - то окно смд после паузы закроется

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 01:02 15-09-2009 | Исправлено: wolf0425, 01:05 15-09-2009
    giperion85

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

    Всего записей: 6 | Зарегистр. 01-01-2009 | Отправлено: 12:12 15-09-2009
    Sish



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    giperion85
    Если запускаешь в винде, то именно так и происходит: внешняя прога запускается отдельным процессом, а батник продолжает выполняться.

    Всего записей: 25349 | Зарегистр. 09-06-2004 | Отправлено: 12:16 15-09-2009
    anachrom

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Помогите решить проблемку:
    Сохранение журнала событий в txt или другой читаемый файл при помощи bat (если нет через ком строку то хоть что то вообще).
    Нашел программку psloglist и все бы ничего, если бы не работа только с журналом System. а так прога хорошая тащит даже по сети.

    Всего записей: 179 | Зарегистр. 18-11-2008 | Отправлено: 12:54 15-09-2009
    mugil_cephalus

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

    Цитата:
    команда exit 0  конечно не обязательна.  
    Просто она закрывает окошко если батник запустили новым окном через команду start, временами удобно. недостаток - если такой батник запустить просто из окна cmd - то окно смд после паузы закроется  

    премного благодарен

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 14:21 15-09-2009
    TDrago

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    По событиям журналов Windows XP.
    Если нативными средствами XP делать вывод событий (используется Visual Basic Script из стандартного набора Windows):

    Код:
    cscript %windir%\system32\eventquery.vbs >file.txt

     
    Выдаст все события в файлик file.txt
    Основные ключики можно посмотреть в самом vbs файле, ну или поставив ключик /? перед выводом в текстовый файл. Как по мне так самое используемое будет:
     
    /V - подробная информация
    /S <система> - система с какой берем журнал
    /R <диапазон> - диапазон значений
    /L <журнал> - журнал с какого тянем события
    /? - список ключей для утилиты
     
    Взял отсюда:
    http://www.osp.ru/text/print/302/176386.html

    Всего записей: 5 | Зарегистр. 13-10-2005 | Отправлено: 14:30 15-09-2009 | Исправлено: TDrago, 14:32 15-09-2009
    mugil_cephalus

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

    Цитата:
    Цитирую справку:  
     
    Цитата:; или , команда1 параметр1;параметр2 Используется для разделения параметров команды.  
     
    А вообще, можешь почитать сам  - c:\WINDOWS\Help\ntcmds.chm

    ответ да/нет короче (это я без сарказма)
    читал справки C:\>help и cmd /? - не встречал про ":: и ;" , там только rem.
     может не внимательно, но не лень было читать всю справку "от корки до корки"
    , только ";" как rem поппадалась, кажется в config.nt. К тому же я спрашивал про тождественность rem'u, а не про
    Цитата:
    разделения параметров команды


    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 14:48 15-09-2009 | Исправлено: mugil_cephalus, 14:49 15-09-2009
    giperion85

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    To Sish
    может не точно описал ситуацию, мне необходимо что бы прога запустилась отдельным окном, а она у меня запускаетя, в той же консоли что и батник. Мне это нужно чтобы затем из батника по прошествии определнной паузы закрыть, ту прогу что я вызвал из батника(она при этом продолжает работать).

    Всего записей: 6 | Зарегистр. 01-01-2009 | Отправлено: 15:05 15-09-2009
    Sish



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    giperion85
    Твой последний пост внёс ещё меньше ясности
     
    Попробуй, может тебе подойдёт start (для справки по ключам - в консоли start /?)

    Всего записей: 25349 | Зарегистр. 09-06-2004 | Отправлено: 15:08 15-09-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mugil_cephalus
    rem - это встроенная команда, которая позволяет делать ремарки.
    ::    - это метка, которая обрабатывается до первого служебного символа (::, :&, :| и т.д), это из разряда "trik" ;)

    Код:
     
    @echo off
    rem echo 0
    echo 00
     
    :: echo 1
    echo 11
     
    :& echo 2
    echo 22
     
    :| echo 3
    echo 33
     

    Поэтому, "комментарий" :: никогда не использую в циклах из-за возможных ошибок
    Здесь rem отрабатывает, а "::" выдает ошибку:

    Код:
     
    @echo off
    for %%i in ("rem" "::") do %%~i echo %%~i
     

     
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 15:40 15-09-2009 | Исправлено: 01MDM, 15:42 15-09-2009
    slay1212

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

    Цитата:
    psloglist  
     /?  | more
    см. последний абзац прям для тебя
    Подробнее...

    Всего записей: 336 | Зарегистр. 28-05-2008 | Отправлено: 17:00 15-09-2009
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    спасибо за развернутый ответ
     
    P.S.
    как понимаю, символ ";" - тождественен rem
     
    Добавлено:
    2 all
    непонимаю, за что уильям р. станек "командная строка ms win" деньги получает , - да после редакции и публикации этого форума батнописцев, его книгу можно будет отнести только в разряд "пропедевтика"

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 17:31 15-09-2009
    01MDM



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

    Цитата:
    как понимаю, символ ";" - тождественен rem  

    Понимаешь не верно. Это разделитель параметров команды, например:

    Код:
     
    md folder_1;folder_2
     


    Цитата:
    его книгу можно будет отнести только в разряд "пропедевтика"  

    Эта книга не совсем бесполезна. Главы о diskpart и netsh дают не плохое описание. На счет AD не знаю, но администрированию уделено достаточно от общего об'ёма.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 19:22 15-09-2009
    giperion85

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    To Sish
    спасибо, start как раз то что надо

    Всего записей: 6 | Зарегистр. 01-01-2009 | Отправлено: 09:16 16-09-2009
       

    Страницы: 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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 7
    vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru