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

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

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    вечером дома попробую, отпишусь. Но по твоей ссылке - код Maza Faka, который, как я понял, только для частного случая?

    Всего записей: 1372 | Зарегистр. 30-04-2003 | Отправлено: 16:50 07-06-2007
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mitrichbel а чем тебя мой (692) код не устроил, если циферки проверять не надо?
    последние слова строк он вроде исправно сравнивает...

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 16:58 07-06-2007 | Исправлено: wolf0425, 16:59 07-06-2007
    mitrichbel

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    я ещё ни один не пробовал. эти файлы дома, а я туда третий день добраться не могу 8)

    Всего записей: 1372 | Зарегистр. 30-04-2003 | Отправлено: 17:07 07-06-2007
    Sovdep

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    наиболее продвинутая:
    MediaInfo.exe
    MediaInfo.dll
     

    Код:
    General #0
    Complete name        : D:\AVI\Джеки Браун.mpg
    Format               : MPEG-2 Program
    Format/Family        : MPEG-2
    File size            : 6.36 GiB
    PlayTime             : 2h 24mn
    Bit rate             : 6303 Kbps
    Writing library      :  
    Mar  2 2006
     
    Video #0
    Codec                : MPEG-2 Video
    Codec profile        : Main@Main
    Codec settings/Matri : Custom
    PlayTime             : 2h 24mn
    Bit rate             : 9000 Kbps
    Bit rate mode        : CBR
    Width                : 720 pixels
    Height               : 576 pixels
    Aspect ratio         : 4/3
    Frame rate           : 25.000 fps
    Standard             : PAL
    Chroma               : 4:2:0
    Interlacement        : Interlaced
    Bits/(Pixel*Frame)   : 0.868
    Writing library      :  
    Mar  2 2006
     
    Audio #0
    Codec                : MPEG-1 Audio layer 2
    PlayTime             : 2h 24mn
    Bit rate             : 192 Kbps
    Bit rate mode        : CBR
    Channel(s)           : 2 channels
    Sampling rate        : 32 KHz
    Resolution           : 16 bits
    Video0 delay         : -40ms
    Writing library      : Xing (new)

    Всего записей: 18 | Зарегистр. 05-06-2007 | Отправлено: 17:15 07-06-2007
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    добрый день
     
    каким образом получить в MS Outlook текст по русски

    Код:
     
    blat -to ivanov@mail.ru -server smtp.mail.ru -f 11@rambler.ru.ru -subject test -body "это тест"
     

    получаю  одни закорюки
     
    добавил это
    mode con codepage select=1251 > nul
    другие закорюки

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 17:32 07-06-2007 | Исправлено: JohnRD, 17:39 07-06-2007
    igor_andreev

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

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 17:51 07-06-2007
    JohnRD

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

    Код:
     
    mode con codepage select=1251 > nul
    blat -to ivanov@mail.ru -server smtp.mail.ru -f 11@rambler.ru.ru -charset windows-1251 -subject test -body "это тест"
     

    спасибо большое
     
    нашел в FAQ
    :: Populate all the variables we are going to use
     :: You must change the next 3 values
     set to = "-to ivanovl\@mail.ru"
     set f = "-f 11\@rambler.ru"
     set server = "-server smtp.mail.ru"
     set subject = "-subject \"Testing blat\""
     set body = "-body \"Testing blat\""
     set debug = "-debug"
     :: Here is where we run Blat.
     :: Note, I named the vars the same as Blat's paramaters.
     blat - %to% %f% %subject% %body% %server% %debug%
     
    но не не работает, почему интересно
    Failed to open registry key for Blat
    To set the SMTP server's name/address and your username/email address for that
    server machine do:
    blat -install  server_name  your_email_address
    or use '-server <server_name>' and '-f <your_email_address>'
    aborting, nothing sent
     

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 18:15 07-06-2007 | Исправлено: JohnRD, 18:17 07-06-2007
    Elroir



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

    Цитата:
    Но по твоей ссылке - код Maza Faka, который, как я понял, только для частного случая?

    Да действительно - дал неправильную ссылку
    Вот правильная - http://forum.ru-board.com/topic.cgi?forum=62&topic=10650&start=660#21
    И да - тот код Maza Faka заточен под двузначные числа в конце.
     
    Добавлено:
    JohnRD
    Попробуй убрать дефис в последней строчке.

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 18:27 07-06-2007
    Sovdep

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Способ  wolf0425  ('type PSNR ^| grep "Video stream"') работает изумительно. Честное слово, я уже и не надеялся. Подлянка оказалась совсем в другом
     

    Код:
    D:\AVI>for /F "tokens=*" %G in ('mencoder.exe -ss 120 -endpos 5 "Джеки Браун.mpg
    " -vc mpeg12 -sws 9 -vf pp l5 crop 694:568:18: scale 576:432:0:0:2:::0 hqdn3d 8:
    16:8:8 softskip -passlogfile "Джеки Браун.log" -ovc xvid -xvidencopts threads 2:
    aspect 4/3:max_key_interval 125:max_bframes 2:bquant_ratio 163:bquant_offset 0:n
    ogreyscale:chroma_opt:chroma_me:nointerlacing:nopacked:noqpel:nogmc:nocartoon:no
    lumi_mask:trellis:hq_ac:me_quality 6:vhq 2:bvhq 1:curve_compression_high 5:curve
    _compression_low 5:bitrate 1300:quant_type h323:pass 2:psnr -af channels 1 -oac
    mp3lame -lameopts cbr:br 96:aq 1:lowpassfreq 14000:mode 3 -o "Джеки Браун.avi" -
    force-avi-aspect 4/3' |grep -E "Video stream"^|Average') DO @SET [VB]=%G
     
    Error parsing option on the command line: -xvidencopts

     
    Вся эта куча опций передается в FOR без знака "="!  
    И это уже логический конец. Желание облагодородить выдачу скрипта ("пакетного файла", блин M$ )противоречит желанию сохранить понятный и прозрачный код
     

    Цитата:
    совет "пиши лог mencoder в файл и не парься" - тебе нужен? или будешь дальше думу думать?

    Буду писать в лог, и пусть меня считают лохом, но ставить ^перед = в двух десятках опций - НИКОГДА!
     
     

    Всего записей: 18 | Зарегистр. 05-06-2007 | Отправлено: 21:50 07-06-2007 | Исправлено: Sovdep, 21:53 07-06-2007
    Maza Faka



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

    Цитата:
     но ставить ^перед = в двух десятках опций - НИКОГДА!

    Sovdep
    А ты попробуй такую конструкцию:

    Код:
     
    @echo off
    for /f "usebackq tokens=*" %%a in (`"type readme.txt | find /i "install""`) do echo %%a
     

    здесь параметр "usebackq" позволяет использовать символ "|" без "^",  
    на основе этого примера, напиши свой батник.

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

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    Попробовал - примерно через минуту думанья он выдал "Слишком длинная командная строка. Ошибка в синтаксисе команды"

    Всего записей: 1372 | Зарегистр. 30-04-2003 | Отправлено: 11:02 08-06-2007
    Sovdep

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    При внимательном рассмотрении видно, при передаче в () вырезаются симводы "=" "," ";"  
    Пайпер-то | как раз цел. Попробовал, usebackq (``) не помог - ни одного знака =,; не появилось.
     
    Оставил я эту идею с потоковой обработкой. Эксперименты, считаю очень плодотворными.  Спасибо всем за помощь и участие.  
     
    На Конструкции FOR написал отдельный анализатор log-файла. Там сверху вниз идет. Теперь надо сделать анализатор Videobitrate, для этого надо загрузить из файла PSNR две последние строки в две переменные. Есть какие-то общепринятые решения, вроде #tail?
     
     

    Всего записей: 18 | Зарегистр. 05-06-2007 | Отправлено: 11:12 08-06-2007
    wolf0425



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

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

    не парься - не той длины тот лог, чтоб от скипанья что-то выиграть.
     
    setlocal enabledelayedexpansion
    for /F "tokens=*" %%a in (log.txt) do  set "var2=!var1!" & set "var1=%%~a"

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 11:42 08-06-2007
    Sovdep

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Слушай, ты в каких доках такие модификаторы находишь?!
    Я такую конструкцию пробовал с %var1%, а заработало с твоими !var1!
    Что это вообще такое "!"

    Всего записей: 18 | Зарегистр. 05-06-2007 | Отправлено: 12:16 08-06-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Sovdep
    во встроенной помощи винды Set /?

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:24 08-06-2007
    Sovdep

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вот это да. Кто бы подумал, что такие фичи возможны!
    !VAR!  проведение сопоставления во время выполнения. Это что, из бейсика такие конструкции?
     
    А какой завораживающий язык описания. Так специалисты по маркетингу с лохами разговаривают

    Всего записей: 18 | Зарегистр. 05-06-2007 | Отправлено: 12:53 08-06-2007 | Исправлено: Sovdep, 12:54 08-06-2007
    bios



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Если подитожить раздел Работа с текстом, датой, и файлами >> Использование даты на день раньше чем сегодня
    c учетом и  високосных годов и разного формата времени из за версии Windows
     
    ПОЛУЧЕНИЕ ВЧЕРАШНЕЙ ДАТЫ
     
    то может получится это:
    back_date.cmd
     
    Подробнее...
     
    ЭТУ программу можно вызвать из своего батника:
    CALL back_date.cmd
     
    а потом юзать переменную %I_DATE%

    Всего записей: 117 | Зарегистр. 21-10-2002 | Отправлено: 14:11 08-06-2007 | Исправлено: bios, 16:44 08-06-2007
    presston



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день!!
     
    Такой вопросик. Можно ли написать батник который автоматом менял прокси сервер на машине ( мы вводим новый прокси в сети и каждому менять вручную просто нет времени)???
     
     
    Пасиба!

    Всего записей: 9 | Зарегистр. 13-05-2007 | Отправлено: 15:53 08-06-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    presston
    Менять прокси где? В интернет эксплорере?
     
    bios

    Цитата:
    c учетом и  високосных годов  

    А где у тебя проверка високосного года?

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 16:34 08-06-2007 | Исправлено: Elroir, 16:59 08-06-2007
    presston



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir, ага в нем ( была бы сказка если б во всех сразу браузерах, но хотя б в эксплорере)

    Всего записей: 9 | Зарегистр. 13-05-2007 | Отправлено: 18:01 08-06-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