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

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



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

    Цитата:
    если исходная картинка на много больше оптимизированной, то он не заносится в отчет

    На сколько больше? Приведи пример размеров исходной и оптимизированной.
    wolf0425

    Цитата:
    а не дофига ли у ФАРа стало встроенных команд и не пора ли мне уже приучаться любой набор внешней команды начинать с пробела

    пожалуй

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 21:12 26-06-2010
    jek1976



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    us0r
    Цитата:
    При каждом старте копируются профили из папки backup для данного юзверя...  

    Так получается, что ВСЕ профили так и будут присутствовать на машине? Мне же надо их удалять в зависимости от того, синхронизированы они или нет...

    Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 21:31 26-06-2010
    lorents



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

    Цитата:
    На сколько больше? Приведи пример размеров исходной и оптимизированной.  

    исходный размер в кб, а оптимизированный в байтах

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

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 21:40 26-06-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    lorents
    ну возьми калькулятор и посчитай процент.
    например:
    исходный=100Кб
    оптимизированный=500байт
    процент=500/100000*100=0,5%
    Ну и выведет тебе .5 - т.е. 0.5% Если соотношение будет меньше, то может и ничего не вывести. Ты же сам хотел точность до одного знака после запятой.
     
     
    Добавлено:
    Я и не посмотрел, что ты поменял процедуру расчета.  
    Щаз потестирую ее.
     
    Добавлено:
    lorents

    Цитата:
    если исходная картинка на много больше оптимизированной, то он не заносится в отчет

    И что, действительно не заносится в отчет? Даже имя файла?
    Значит не вызывается call :savelog по какой-то причине.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 21:52 26-06-2010
    lorents



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

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

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 22:21 26-06-2010
    res2001



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

    Цитата:
    не заносится, ладно это не так критично

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

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 11:37 27-06-2010
    lorents



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

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

    я понял в чем дело, все из последней ячейки, там где проценты, стоит его убрать и все заносится. и это правильно если процент равен 0,4%, то он и не может занести
    Я убрал твой способ расчета знака после запятой, т.к. если файл не оптимизировался, т.е. размер остался прежним, то он выводил, что процент равен 99,5%.
     
    пока тестировал, нашел еще один баг,
    если в имени файла есть кириллица, то она заносится в отчет непонятными символами.
     
    и еще одна просьба, как сделать чтобы в отчете первая строчка имела такие ячейки
    File name
    Original Size
    Output Size
    Change in Bytes
    % of Original
     
    Помоги пожалуйста

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

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 12:27 27-06-2010
    mugil_cephalus

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

    Код:
    wmic useraccount where status="ok" get name /value


    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 12:58 27-06-2010
    wolf0425



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

    Цитата:
    пока тестировал, нашел еще один баг,
    если в имени файла есть кириллица, то она заносится в отчет непонятными символами.  
    здасьте, дос-кодировка вдруг стала непонятными символами
    не нравится 866 - переключи кодировку на 1251, кто же тебе доктор...

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 13:11 27-06-2010
    lorents



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

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

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 13:19 27-06-2010
    wolf0425



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

    Цитата:
    отчет создается динамически, и поэтому это должен делать batch
    ну так и делай, какие видятся проблемы то - в виндовую кодировку переключить вывод?
     

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 15:07 27-06-2010
    lorents



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

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

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 21:46 27-06-2010
    wolf0425



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

    Цитата:
    а можно пример
    пример чего?  команды chcp 1251 ?
    @echo off
    1>nul chcp 1251  
    1>file.txt (
     echo печатаем имена в виндовой кодировке
     dir /b  
    )  
    сам батник понятно тоже пишется в виндовой,  
    если шрифт консоли до сих пор почему-то терминал - переключить на люсиду.

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 21:55 27-06-2010 | Исправлено: wolf0425, 22:22 27-06-2010
    Altus

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как получить дату-время в заданном формате, НО в 7 досе от 98 венды? В переменную конечно же, и без использования временных файлов.
    В переменной должно оказаться что то вроде: 201006280005
    У меня все идеи кончились.

    Всего записей: 328 | Зарегистр. 06-09-2006 | Отправлено: 00:12 28-06-2010
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Altus
    А чем тебе временные файлы помешали? В чистом досе вроде только с их использованием...

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 01:53 28-06-2010
    wolf0425



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

    Цитата:
    в 7 досе от 98 венды? В переменную конечно же, и без использования временных файлов.  
    в рамках батника - никак, язык там очень уж примитивный был.
    а вообще - пишешь на си/паскале собственную утилиту, которая лезет в родительский енвайронмент и добавляет переменную, прикладываешь её к батнику.
     
     

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 01:58 28-06-2010
    res2001



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

    Цитата:
    File name
    Original Size
    Output Size
    Change in Bytes
    % of Original  

    добавь после определения перемененой logfile строчку
    echo File name;Original Size;Output Size;Change in Bytes;% of Original >>%logfile%

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 08:56 28-06-2010
    lorents



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

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

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 11:27 28-06-2010
    res2001



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

    Цитата:
    можно по подробнее?


    Код:
    set logfile=Images.csv
    echo File name;Original Size;Output Size;Change in Bytes;% of Original >>%logfile%

    на счет кодировки: как писал wolf0425 поставь второй командой в батнике  

    Код:
    1>nul chcp 1251  

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 11:42 28-06-2010
    BVV63



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую. Вопрос, наверное, глупый, но всё равно. Никто не слахал об каком-либо отладчике для "батаники"? Любительского изготовления, понятно... А то, бывает, строишь конструкции из 3-х - 4-х уровней по паре страниц текста, нифига не работает, а ты по-полчаса нич-чо понять не можешь. Понемногу упрощаешь конструкцию, ищешь ошибку, но на это уж больно много времени уходит.

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 11:46 28-06-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