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

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

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

vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 12:40 25-01-2010 | Исправлено: bomzzz, 13:37 20-08-2010
    wolf0425



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

    Цитата:
    Сейчас протестировал твой код, и вышло так что jhead.exe не получает параметры.
    пруфлинк где? в смысле отключай echo и показывай что пишет.
    тот код по очевидным причинам должен на "%%~fi"  ругаться - его там никто не определял, а собственно формирование списка ключей работает замечательно.

    Цитата:
    Там будет несколько секций

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

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 18:11 02-08-2010 | Исправлено: wolf0425, 18:17 02-08-2010
    lorents



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

    Цитата:
    тот код по очевидным причинам должен на "%%~fi"  ругаться - его там никто не определял,

    я просто протестировал твой код, в данном случаи я заменил "%%~fi" на "Download.jpg", как видно код его видит?


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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 18:29 02-08-2010
    wolf0425



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

    Цитата:
    как видно код его видит?  
    у тебя строка кода не видит %_keys% почему-то. точно без ошибок вписал?
     
    влепи set _ перед последней строкой, хоть посмотрим что в переменной.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 09:19 03-08-2010 | Исправлено: wolf0425, 09:19 03-08-2010
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents, слегка видоизмененный:

    Код:
     
    @echo off
    setlocal
     
    for /f "eol=; tokens=1,2 delims== " %%i in ('findstr /v "\[" config.ini') do (
        call:check %%i %%j
    )
    :: "%~dp0Docs\jhead.exe" %params%
    echo %params%
     
    goto:eof
     
    :check
    if "%2"=="true" set "params=%params% -%1"
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 09:30 03-08-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    Подробнее...
     
    01MDM
    Твой код полностью рабочий, спасибо большое
     
    Осталось разобраться с секциями

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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 10:31 03-08-2010
    Vitaly_Sigov

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Здравствуйте, уважаемые форумчане.
    Подскажите, пожалуйста, как правильно написать в батнике:
     
    cacls %~dp0 /D KTI\USER
     
    Т.е. запуск батника ведется и зкталога в котором он находится.
    Но при его выполнении после нажатия на y (продолжить) выводится сообщение об ошибке : "Не удается найти указанный файл"
    Большая просьба помочь...

    Всего записей: 54 | Зарегистр. 23-01-2009 | Отправлено: 11:05 03-08-2010
    cin



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    cacls %~dp0% /D KTI\USER

    Всего записей: 53 | Зарегистр. 26-12-2006 | Отправлено: 11:20 03-08-2010
    wolf0425



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

    Цитата:
    wolf0425 Подробнее...
    ты читаешь что тебе пишут?

    Цитата:
    влепи set _ перед последней строкой, хоть посмотрим что в переменной.  
    где в этом подробнее строка set _ перед строкой jhead.exe ?
    "перед строкой" и "в начало строки" - несколько разные вещи, тем более что минимально задумавшись мог сам догадаться о том что пишешь бессмысленную команду.
     
    Vitaly_Sigov  а посмотреть что %~dp0 заканчивается на \ и догадаться что cacls это не понимает - не судьба?
    попробуй cacls %~dp0. /D KTI\USER  
     
    ну а если не поможет - обрезай \ врчную, с использованием промежуточной переменной
     
     

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 11:23 03-08-2010 | Исправлено: wolf0425, 11:27 03-08-2010
    lorents



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

    Цитата:
    ты читаешь что тебе пишут?  

    извиняюсь
     
    Подробнее...

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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 11:38 03-08-2010
    Vitaly_Sigov

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Спасибо большое.
    И еще можете подсказать:Что нужно прописать, чтобы при выполнении команды cacls в bat-файле не выводился запрос Продолжить: Y/N ?

    Всего записей: 54 | Зарегистр. 23-01-2009 | Отправлено: 11:47 03-08-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents у тебя в конфиге после true - табуляция что-ли, а не пробелы?
    чего-то понять не могу - чему там табуляция мешает, но она мешает
     
    Добавлено:
    Vitaly_Sigov
    да перенаправление впиши, echo y | cacls ...

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 11:51 03-08-2010 | Исправлено: wolf0425, 12:00 03-08-2010
    lorents



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

    Цитата:
    у тебя в конфиге после true - табуляция что-ли, а не пробелы?  

    да. сделал пробелы и все работает.

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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 12:10 03-08-2010
    wolf0425



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

    Код:
    @echo off
    setlocal enabledelayedexpansion
     
    set "_section=default"
    for /f "tokens=1,2 delims=;= " %%a in (config.ini) do call :_check %%a %%b
     
    set sec-
    echo "%~dp0Docs\jhead.exe" %sec-jhead% "%%~fi"
    goto :eof
     
    :_check
    set _key=%1
    if %_key:~0,1% equ [ if %_key:~-1% equ ] set "_section=%_key:~1,-1%" && goto :eof
    if /i "%~2" neq "true" goto :eof
    set "sec-%_section%=!sec-%_section%! -%1"
    goto :eof
     
    пример конфига
    Код:
    [jhead]
    dc = true    ;Delete comment field (as left by progs like Photoshop & Compupic)
    de = true    ;Strip Exif section (smaller JPEG file, but lose digicam info)
    di = true    ;Delete IPTC section (from Photoshop, or Picasa)
    dx = true    ;Deletex XMP section
    du = true    ;Delete non image sections except for Exif and comment sections  
    [prog]
    dr = true
    ; xxx true а вот такое писать не стоит - нежданчик будет из-за true.
     
    табуляции вроде переваривает...

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 12:51 03-08-2010 | Исправлено: wolf0425, 13:15 03-08-2010
    Mark_Titov



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, подскажите как батником убрать галочку по следующему пути -
     
    My Computer - Properties - Advanced - Perfomance(Settings) - Visual Effect - SHOW SHADOWS UNDER MENUS ???
     
    Буду очень признателен...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 13:32 03-08-2010
    Vitaly_Sigov

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Уважаемые форумчане, подскажите, пожалуйста, можно ли в bat-файле при помощи команды cacls задать разрешения на папку сразу для нескольких пользователей ?
     
    Например:
     
    echo y|cacls %~dp0. /G KTI\User1:F
    @pause
    echo y|cacls %~dp0. /G KTI\User2:F
    @pause

    Всего записей: 54 | Зарегистр. 23-01-2009 | Отправлено: 13:50 03-08-2010
    lorents



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

    Цитата:
    табуляции вроде переваривает...

    работает

    Цитата:
    ; xxx true а вот такое писать не стоит - нежданчик будет из-за true.  

    не совсем понял, я не могу писать "true" в комментариях?

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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 14:11 03-08-2010
    01MDM



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

    Цитата:
    задать разрешения на папку сразу для нескольких пользователей ?

    Можно:

    Код:
     
    .... /g user1:F user2:N user3:R .....
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 14:31 03-08-2010
    us0r



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

    Код:
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DropShadow]
    "DefaultApplied"=dword:00000001
    "DefaultValue"=dword:00000000
    "DefaultByAlphaTest"=dword:00000000

    REG ADD напишешь сам?

    Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 17:11 03-08-2010 | Исправлено: us0r, 17:15 03-08-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    Цитата:
    не совсем понял, я не могу писать "true" в комментариях?

    не в любом месте  
    конкретно - проблемы если true - второе слово строки, причем в комментарии.  
    xx = true ; rem true - писать можно
    проблема там в том, что символ ; очень хочется в список разделителей - если этого не делать то будет проблема у разбора строк без пробелов, типа xx=true;rem ...
    а комментарии там в общем-то ничем от значащих строк не отличаюся.
    Можно чего-то пропридумывать, но муза бастует.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 19:24 03-08-2010 | Исправлено: wolf0425, 19:38 03-08-2010
    lorents



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

    Цитата:
    Можно чего-то пропридумывать, но муза бастует.

    Пусть твоя муза отдыхает от меня
     
    Добавлено:
    wolf0425
    заметил проблему
     
    config.ini
     
    bat-файл выдает:

    Цитата:
    sec-JPEG= -dc -de -di -dx -du -dt

     
    Почему так происходит? это же не комментарий

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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 19:57 03-08-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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 8
    vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru