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

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

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

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

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 17:45 04-09-2010 | Исправлено: Accessor, 18:04 28-09-2010
    faithful



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

    Цитата:
    Как можно найти значение, то что в скобках, интересует только число?  
    и еще один вопрос, как можно из переменной отнять значение 2, и сделать такое условие, если число положительное, то выполнить определенное действие.

     
     

    Код:
    @echo off
    cls
     
    set str=Block boundaries: 1443e,1d7bf,45254,51131 (5 blocks)
     
    for /f "tokens=4 delims=( " %%d in ('set str') do set /a digit=%%d
    echo.%digit%
     
    set /a digit-=2
    echo.%digit%

    Всего записей: 240 | Зарегистр. 09-09-2005 | Отправлено: 19:47 16-09-2010
    bomzzz



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

    Цитата:

    ECHO OFF
    COLOR 9F
    CLS
    set string=Block boundaries: 1443e,1d7bf,45254,51131 (5 blocks)
    for /f "delims=( tokens=2" %%I in ("%string%") do set string=%%I
    echo %string:~0,1%
    pause

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 19:50 16-09-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    faithful,bomzzz Спасибо, а в чем разница обоих кодов?
     
    И как делать проверку, если полученное число положительное, то выполнить определенное действие?

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 20:00 16-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    да мне лень смотреть как там сделано.
    про проверку я не дочитал. отнять сравнить
     
    Добавлено:
     
    set string=%string:~0,1%
    set /a string=%string%-2
    if %string% LSS 0 echo OK  
     
    Добавлено:
    а число всегда однозначное???

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:07 16-09-2010
    faithful



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

    Цитата:
    а в чем разница обоих кодов?  

    В том что я использую в качестве разделителей два символа : "(" и " ", поэтому я всегда получу чистое число, сколько бы знаков в нем не было.

    Всего записей: 240 | Зарегистр. 09-09-2005 | Отправлено: 20:14 16-09-2010
    bomzzz



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

    Цитата:

    ECHO OFF
    COLOR 9F
    CLS
    set string=Block boundaries: 1443e,1d7bf,45254,51131 (5 blocks)
    for /f "delims=( tokens=2" %%I in ("%string%") do set string=%%I
    echo %string:~0,-7%
    set string=%string:~0,-7%
    set /a string=%string%-2
    if %string% LSS 0 echo OK
    pause

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:18 16-09-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    Спасибо, вроде все работает. Только, по моему, мне нужен не LSS, а GTR. А на счет проверки хорошо придумал.

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 21:08 16-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    да чет тута придумывать. может не сработать если в случае 1 пишет не blocks, а block тогда подставь строку из батника faithful

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 21:10 16-09-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    точно не подумал.
     
    faithful
    спасибо, воспользуюсь твоим кодом.

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 21:31 16-09-2010 | Исправлено: lorents, 21:31 16-09-2010
    LunQ



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

    Всего записей: 30 | Зарегистр. 12-10-2008 | Отправлено: 13:58 17-09-2010
    andrew1692

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите как в батнике прописать проверку ключа реестра и последущее выполнение команды.
    Например, если значения ключа реестра 100, выполнится одна команда, а если 200 то другая

    Всего записей: 1980 | Зарегистр. 31-10-2008 | Отправлено: 14:37 17-09-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    andrew1692
    В forе парсить ответ команды reg query.
     
    LunQ
    Можно.
    Или перебором в цикле и вылавливанием таких строк, или воспользоваться утилитой sed.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 16:05 17-09-2010
    LunQ



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

    Цитата:
    Или перебором в цикле и вылавливанием таких строк

    А как этот код выглядит? (я не программист)

    Всего записей: 30 | Зарегистр. 12-10-2008 | Отправлено: 16:20 17-09-2010
    res2001



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

    Код:
    @echo off
    SetLocal EnableDelayedExpansion
    for /f "delims=" %%a in (file.txt) do (
        set "tt=%%a"
        if "!tt:~0,3!" equ "Cом" (>>file_new.txt echo.!tt:~3!) else >>file_new.txt echo.!tt!
    )

    file.txt замени на имя обрабатываемого файла, итоговый файл - file_new.txt
    Если "Cом" написано по русски, то батник надо сохранить в той же кодировке, что и исходный файл.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 16:46 17-09-2010
    LunQ



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001
    Спасибо!!!
    Слово по английски, только из шести букв, но в этом я разобрался

    Всего записей: 30 | Зарегистр. 12-10-2008 | Отправлено: 17:05 17-09-2010
    andrew1692

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

    Цитата:
    andrew1692  
    В forе парсить ответ команды reg query.

    можно подробнее, а то я не эксперт в батниках

    Всего записей: 1980 | Зарегистр. 31-10-2008 | Отправлено: 20:14 17-09-2010
    bomzzz



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

    Цитата:

    ECHO OFF
    COLOR 9F
    CLS
    FOR /F "SKIP=4 delims=*" %%I IN ('REG QUERY HKCU\Software\KMPlayer\KMP2.0\OptionArea /v InstallPath') DO SET KMPPath=%%I
    SET KMPPath=%KMPPath:~23%
    SET KMPPath=%KMPPath:~0,-12%
    ECHO %KMPPath%
    pause

     
     
    Добавлено:

    Цитата:

    ECHO OFF
    COLOR 9F
    CLS
    REM ****DOWNLOAD MASTER*****
    REG QUERY "HKCU\Software\2VG\Download Master" /v InstallPath>nul
    IF ERRORLEVEL 1 GOTO NEXTDM

    FOR /F "SKIP=4 delims=*" %%I IN ('REG QUERY "HKCU\Software\2VG\Download Master" /v DefaultSaveFolder') DO SET DMPath=%%I
    SET DMPath=%DMPath:~29%
    ECHO %DMPath%

    :NEXTDM
    pause

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:25 17-09-2010 | Исправлено: bomzzz, 20:36 17-09-2010
    andrew1692

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    можно проще, говорю же что я в этом дерево и в нете за 3 часа ничего не нашел

    Всего записей: 1980 | Зарегистр. 31-10-2008 | Отправлено: 20:57 17-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    куда проще, ты даже ключ не привел

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 21:21 17-09-2010
    prrr

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

    Всего записей: 58 | Зарегистр. 16-08-2010 | Отправлено: 21:32 17-09-2010 | Исправлено: prrr, 21:34 17-09-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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 9
    vu1tur (09-01-2011 11:53): лимит страниц, продолжение — http://forum.ru-board.com/topic.cgi?forum=62&topic=22143


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru