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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Ну и наконец в exe скомпилируй его и значок нормальный сделай - будет по-серьезней...
    народ, вам шашечки или ехать?
    счастье компиляцции - оно вообще в чем?  
    работает медленнее, гемороя больше, левые файлы по ходу создает...
     
     
    Добавлено:

    Цитата:
    о каких папочках речь?
    в регистри, вложенные ветки HKEY_CURRENT_USER\Console  

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



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

    Цитата:
    Ну, с 20,2 Мб оптимизировал до 18,2 - не в два раза, но тоже результат...  

    c jpeg сильно не выжмешь
    а вот с PNG, еще как

    Цитата:
    А ты нормальную менюху влепи туда, текст цветом покрась

    это как?

    Цитата:
    ...ну и тд., путь скрой это и так понятно куда я их поместил и что он их от туда берет.  

    и это как?

    Цитата:
    Ну и наконец в exe скомпилируй его и значок нормальный сделай - будет по-серьезней...

    пробовал, но из-за %temp%\png.log не выходит, не знаю, что делать
     
    Я в батниках просто 0
    Поэтому мне очень нужна Ваша помощь

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 00:52 11-06-2010 | Исправлено: lorents, 00:53 11-06-2010
    WesternLight

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

    Цитата:
    HKEY_CURRENT_USER\Console

    Короче, экспортировать всю ветку, со всеми вложенными...

    Всего записей: 61 | Зарегистр. 07-10-2007 | Отправлено: 01:02 11-06-2010
    wolf0425



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

    Цитата:
    Короче, экспортировать всю ветку, со всеми вложенными...

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

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

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

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

    ага, нужно попробовать, а почему тогда без компиляции все ОК отображается, кодировка батника 1251, вначале команда chcp 1251? Только я его в qbfc в exe, сразу кракозябры...

    Всего записей: 61 | Зарегистр. 07-10-2007 | Отправлено: 01:06 11-06-2010 | Исправлено: WesternLight, 01:08 11-06-2010
    Mark_Titov



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

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

    Код не зачем показывать, да и иконку можно прикрутить...
    Если не брать конкретно этот пример, то уменя вся моя система батников на exe - и работает на ура круглые сутки и ничего...
    И как сервисы можно повесить, что я и сделал...
     

    Цитата:
    Цитата:А ты нормальную менюху влепи туда, текст цветом покрась  
    это как?

     

    Цитата:
    Я в батниках просто 0  
    Поэтому мне очень нужна Ваша помощь

    Это шаблон, с цветом текста, размера окна, изменяй его под свои нужды -
     

    Код:
     
    @ECHO OFF
    mode con lines=40 cols=100
    color A
    TITLE WELCOME - Image Optimizer 1.0.0.4
    :_menu  
    CLS
    ECHO.
    ECHO  *************************************** Image Optimizer 1.0.0.4 **************************************
    ECHO  **************************************************************************************************
    ECHO.  
    ECHO                                                                       1. First choice
    ECHO.
    ECHO                                                                       2. Second choice
    ECHO.
    ECHO                                                                       3. Third choice
    ECHO.
    ECHO                                                                       4. Exit  
    ECHO.  
    ECHO  **************************************************************************************************
    ECHO.  
    ECHO Write here[1,2,3,4] and press Enter:  
    SET /P reply=  
     
    IF /I "%reply%"=="1" GOTO :_first  
    IF /I "%reply%"=="2" GOTO :_second  
    IF /I "%reply%"=="3" GOTO :_third  
    IF /I "%reply%"=="4" GOTO :_end  
    GOTO :_error  
     
    :_first  
    CLS  
    ECHO You select "First choice"  
    PAUSE  
    :: ну или GOTO :eof, как тебе надо...  
    GOTO :_menu  
     
    :_second  
    CLS  
    ECHO You select "Second choice"  
    PAUSE  
    GOTO :_menu  
     
    :_third  
    CLS  
    ECHO You select "Third choice"  
    PAUSE  
    GOTO :_menu  
     
    :_end  
    CLS  
    ECHO You select "Exit"  
    PAUSE  
    GOTO :eof  
     
    :_error  
    CLS  
    ECHO Wrong! Press 1,2,3 or 4, please  
    PAUSE  
    GOTO :_menu  
     
    :eof
     

     

    Цитата:
    пробовал, но из-за %temp%\png.log не выходит, не знаю, что делать

    Как скомпилировать BAT-файл в EXE
     
    Скачать

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 01:07 11-06-2010 | Исправлено: Mark_Titov, 01:15 11-06-2010
    wolf0425



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

    Цитата:
    почему тогда без компиляции все ОК отображаетс
    наверно потому что без компиляции у тебя действуют настройки из ветки HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe  - ты их отдельно изменял, а при запуске из эксплорера скомпилированного - настройки будут из HKEY_CURRENT_USER\Console\имяпрограммы.exe  
     
    попробуй просто запусти cmd, и из него руками вызови сначала батник потом скомпилированный, посмотри чего пишут.
     
     
    Добавлено:
    Mark_Titov
    Цитата:
    Код не зачем показывать, да и иконку можно прикрутить...  

    так все кому очень интересно - посмотрят, делов то. А иконку можно и к ярлыку прикрутить, если делать совсем уж нефиг...
     

    Цитата:
    Если не брать конкретно этот пример, то уменя вся моя система батников на exe - и работает на ура круглые сутки и ничего...  
    зачем батникам непрерывно работать круглые сутки я не очень знаю, но у меня вот каджые 10 мин шедулер запускает батник (невидимый, конечно же)...
     

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 01:12 11-06-2010 | Исправлено: wolf0425, 01:18 11-06-2010
    Mark_Titov



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

    Цитата:
    так все кому очень интересно - посмотрят, делов то

    ...Ну и к чему это? Скачали - пользуйтесь, а чего в код-то лезть? Не пойму...
     

    Цитата:
    А иконку можно и к ярлыку прикрутить, если делать совсем уж нефиг...

    Да не серьезно это для проги как-то...
     

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

    ...))) Так у меня же круглосуточный мониторинг критических объектов...
    А шедулер не раз подводил меня - с тех пор не юзаю...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 01:21 11-06-2010
    barsikline



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    При подключении к ftp команда cd не работает если в имени каталога с русскими словами стоит более одного пробела. Например "/Каталог который нужно закачать/". Кто-нибудь знает почему такое происходит и как это обойти?

    Всего записей: 33 | Зарегистр. 24-10-2008 | Отправлено: 01:24 11-06-2010
    wolf0425



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

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

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 01:24 11-06-2010 | Исправлено: wolf0425, 01:25 11-06-2010
    Mark_Titov



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

    Цитата:
    его враги останавливали, что-ли?



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

    ...Да переодически бывало не выполнял задания. Не доверяю я ему как-то.

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 01:28 11-06-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mark_Titov
    А как менять цвет фона?
     
    А можно вернуться к моим двум вопросам, мне бы их в начале решить?

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    barsikline
    Цитата:
    При подключении к ftp команда cd не работает если в имени каталога с русскими словами стоит более одного пробела. Например "/Каталог который нужно закачать/". Кто-нибудь знает почему такое происходит и как это обойти?
    в смысле - в имени удаленного каталога?
    специально ещё раз проверил - всё скачивает замечательно

    Код:
    @echo off
    chcp 1251  
     
    (echo user anonymous anonymous
     echo cd "/Каталог который нужно закачать/"
     echo pwd
     echo bin
     echo get file.tst
    ) | ftp -n localhost  
    проверь что у тебя в батник или в имена каталогов среди пробелов не затесался неразрывный. Выглядит так же, а код - другой...
     
    Добавлено:
    lorents
    Цитата:
    А можно вернуться к моим двум вопросам, мне бы их в начале решить?

    да твой батник так уродски интересно написан, что самому прикручивать к нему драгэндроп - как-то нет энтузиазма. Тебе надо - ты и прикручивай, с чего начать - тебе на прошлой странице вроде ответили.
     
    вот бросили на него разом три файла (два png и один jpg) и ещё каталог со смесью, и совершенно случайно в Images\*.png (интересно где это при вызове драгэнддропом) тоже чего-то лежало - так сколько раз батник будет выводить дебильные менюшки как же я хочу чего оптимизировать мне даже думать противно

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 01:33 11-06-2010 | Исправлено: wolf0425, 01:55 11-06-2010
    Mark_Titov



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

    Цитата:
    А как менять цвет фона?

    ...Я же скинул код менюшки уже с цветом.
    Смотри выше...
     
    Набор цветов поддерживаемых cmd
     

    Цитата:
    А можно вернуться к моим двум вопросам, мне бы их в начале решить?

    ...А именно?

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 07:03 11-06-2010 | Исправлено: Mark_Titov, 07:15 11-06-2010
    mugil_cephalus

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

    Цитата:
    Если, надоел, можете послать, пойму...  
    Только напишите об этом, что бы я не надеялся...  

    не слышал мудрость, кажется античную, что учитель получает больше от ученика, нежели неофит от магистра  
    wolf0425

    Цитата:
    в смысле - пихнуть в шапку уникальную строку со временем с точностью до миллисекунд? А радость то в чем, и чем %random%%random% реально хуже?

     а по уникальному title можно через tasklist вычислить pid и прибить только нужную версию батника

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

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

    вроде не зависит, но dir то зависит
    первоисточник от Maqentaer  

    Цитата:
    предпочитаю дату брать через такое:  
     
    Код:for /f "skip=1" %%i in ('wmic os get LocalDateTime') do set datetime=%%i  
    set year=%datetime:~2,2%  
    set fullyear=%datetime:~0,4%  
    set month=%datetime:~4,2%  
    set day=%datetime:~6,2%  
     
    set hour=%datetime:~8,2%  
    set minute=%datetime:~10,2%  
    set second=%datetime:~12,2%  
     
    так как полностью не зависит от локали и региональных настроек системы.  

     
    - http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=1320#9

    Цитата:
    осталось найчиться дату файлов независимо от настроек определять  

    вот-вот
    я тоже над этим голову ломал, пока остановился на варианте, переводить, скажем дату и время файла - например 2006 05 10 12:36 - в секунды и текущие дату и время - в секунды и сравнивать через if  
    что то вроде - http://www.commandline.co.uk/lib/treeview/index.php Date and Time Functions DateToSecs - я еще не разобрался с кодомами....

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 09:20 11-06-2010 | Исправлено: mugil_cephalus, 09:42 11-06-2010
    DzOOMer

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

    Код:
     
    год   месяц #номер
    2010 01      50
    2010 02      51
    2010 03      52
    2010 04      53
    2010 05      54
    2010 06      55
    2010 07      56
    2010 08      57
    2010 09      58
    2010 10      59
    2010 11      60
    2010 12      61
    2011 01      62
    2011 02      63
    2011 03      64
     

    и т.д.
     
    нужна формула по которой скрипт будет генерировать сквозной номер месяца согласно приведеному алгоритму.
    например скрипт запущеный в апреле 2011 года должен вернуть 65.

    Всего записей: 882 | Зарегистр. 16-11-2004 | Отправлено: 10:34 11-06-2010
    NIKZZZZ



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

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

     

    Код:
    (Год - 2010)*12+Месяц+49

     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 10:57 11-06-2010
    lorents



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

    Цитата:
    ...А именно?

    1. Как видно в батнике есть запрос параметров png и jpeg для обработки, и вот проблема что если в папке Images есть файлы и png и jpeg, то с начала выдается запрос на параметров png, потом идет обработка png-файлов, а потом только запрос на jpeg, как можно сделать, чтобы запросы шли подряд, и только после этого их обработка?
     
    2. батник обрабатывает картинки и берет картинки из папки Images, а надо чтобы он проверял и д/д, и папку, и если что-то есть обрабатывал картинки.
     
    Как можно применить шрифт lucida console, но без изменений в реестре, а то везде через реестр, мне надо применить исключительно на мой батник

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    Вот тебе пример обработки переменного набора входящих параметров с разбором файл или папка. А уже по тому файл или папка будешь строить дальнейшую обработку. Но вообще-то wolf0425 абсолютно прав - скрипт проще переписать с нуля...


    ----------
    Всем непричастным рекомендую прогулки на свежем воздухе

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 11:53 11-06-2010 | Исправлено: yurkesha, 13:25 12-06-2010
    lorents



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

    Цитата:
    Но вообще-то wolf0425 абсолютно прав - скрипт проще переписать с нуля...  

    да я не против, но вот знаний не хватает
     
    Если кто решит вместе со мной развивать данную тему, пишите личку
    Тема актуальная на мой взгляд

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 12:02 11-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