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

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

    Цитата:
    скачал тот который ты заказывал тоже выдает.  
    ну так у меня тот current.exe >file не пишет ничего. вообще. почему-то.
     
    вот понять по той строке, в 1251 там или в utf-16 буковки - я по кодам пока не умею

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 15:42 18-08-2010 | Исправлено: wolf0425, 15:44 18-08-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:53 18-08-2010 | Исправлено: bomzzz, 20:11 18-08-2010
    wolf0425



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

    Цитата:
    у меня работает - это с нормальной кодировкой  
    что пробегавший ранее файлик, пишущий в ОЕМ,  работает - никто не сомневается.
    проблема что то, что ты в конце предыдущей страницы выдал c обещанием печати в ANSII - не печатает ничего ни прямо ни в файл.

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 20:09 18-08-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    работает он.
     
    INBOX.EXE    3,50 КБ (3 584 байт)
    блин как я там выкрутил пол килобайта.
       
     

    Цитата:
     
    ECHO OFF
    COLOR 9F
    CLS
    FOR /f "delims=*" %%I IN ( 'INBOX.EXE /Њ®© Ў в-ЁзҐЈ/‚ўҐ¤ЁвҐ жҐ-л -  ЄҐдЁа/жҐ-  ЄҐдЁа : /450/275' ) DO SET G=%%I
    ECHO %G%
    pause
     

     
    параметры
    INBOX /заголовок окна/инфорамционный заголовок/подсказка в строке набора/Y позиция окна/X позиция окна
     
    делитель строки надо менять потому что может вводится в батник хттп или фтп ссылка
     
     
    INBOXPLUS.EXE    3,50 КБ (3 584 байт)
       
    INBOXPLUS-.EXE    3,50 КБ (3 584 байт)
    тоже самое только делитель коммандной строки обратный дефис ` - левая верхняя клавиша латинской раскладки клавиатуры (русская Ё)

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:13 18-08-2010 | Исправлено: bomzzz, 09:45 19-08-2010
    wolf0425



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

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

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 20:15 18-08-2010 | Исправлено: wolf0425, 20:15 18-08-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вот специально скачал с той страницы - видишь кодировка идиотская. наверно у тебя такой кодировки нету. все работает

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:23 18-08-2010 | Исправлено: bomzzz, 20:50 18-08-2010
    wolf0425



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

    Цитата:
    вот специально скачал с той страницы  
    вот специально скачал тот файл ещё раз.
    Как не создавал current.exe >file никакого файла так и не создает.
    Может ещё кто проверит?
     
    вообще идея выкладывать непосредсвенно экзешники - порочна по сути, особенно когда у всех них размер одинаковый. быстро проверить то ли скачалось - сложно, ни дату/время не назовешь ни CRC нет. полезнее зиповать.
    кстати о хэше - md5:debee9760a058d75841e25bae032adef
     
     
    ps: а такие простыни - в [ more][ /more] заворачивать лучше сразу.

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 20:48 18-08-2010 | Исправлено: wolf0425, 20:52 18-08-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:51 18-08-2010 | Исправлено: bomzzz, 20:53 18-08-2010
    wolf0425



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

    Цитата:
    у тебя может какая нибуть самопальная из которой выкинули лишнее
    1. ОЕМ версия - работает.
    2. винда - обычная XP PRO corp SP3 eng

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 20:55 18-08-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ну если те работают а эта нет - какой можно ввывод сделать
     
    Добавлено:
    invoke CharToOem, addr buffer, addr String
    они одной строкой различаются

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



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

    Цитата:
    ну какой тут хеш, не смеши людей - 2 кб с ошибкой скачались. у тебя буфер больше 2 кб для скачивания
    и при чем тут размер буфера, если на народе заглючит прокси?
    В 99% случаях хэш нужен не для отлова ошибок скачки, а для отлова ситуаций "совсем не то содержимое"

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 20:58 18-08-2010 | Исправлено: wolf0425, 21:06 18-08-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    за последние пять лет у меня два раза файл скачался с ошибкой - сеть барахлила, у меня даже прог нету чтоб мд5 считать

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 21:00 18-08-2010
    wolf0425



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

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

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 21:05 18-08-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CURRENT.ZIP    870 байт (870 байт)
     
     
    Добавлено:
    может байты переписать в ручную?    
     
    Добавлено:
    картинка 40 кб весила не меньше
     
    Добавлено:
    это еще фигня, я последнюю 16 битную прогу в архив ложил архив больше весил чем прога сама
     
    Добавлено:
    из за зип заголовка, а сжимать там нечего было, ну может пара нулей
     
    Добавлено:
    по байтам и тактам наверно одинаково  
    mov ax,1
    и
    xor ax,ax
    mov al,1
    нет наверно второе на два нуля меньше но на такт больше

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 21:08 18-08-2010 | Исправлено: bomzzz, 21:32 18-08-2010
    wolf0425



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

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

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

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 22:31 18-08-2010 | Исправлено: wolf0425, 23:00 18-08-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ENHANCER.ZIP 315 КБ (323 391 байт)

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 03:00 19-08-2010 | Исправлено: bomzzz, 05:56 20-08-2010
    smirnvlad

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    скрывайте, пожалуйста, большие сообщения в тег [more=Читать дальше..]Текст[/more]

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 06:32 19-08-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    допишу скрою
     
    Добавлено:
    бесполезный труд я только что инбокс переделал. просто подложил вместо тех прог. он теперь фокус в поле наводит. чтоб на ентер реагировал наверно не ббуду делать

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 06:33 19-08-2010
    BVV63



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всех приветствую.
    Пытался помочь в теме Как найти файлы, путь к которым превышает 256 символов? и для этого пытался воспользоваться советом, данным NIKZZZZ по определению длины переменной: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668&start=2660#4 . Но в цикле For переходы GoTo завершают цикл, т. е. только первая переменная обрабатывается. Что, так и должно быть? Нельзя в For использовать GoTo? Или я где-то перемудрил?
     
    Добавлено:

    Код:
    ChDir .>C:\1.Txt
    SetLocal EnableDelayedExpansion
    For /F "Tokens=* UseBackQ" %%0 In (`Dir "C:\*.*" /A-D /B /O:N /S`) Do (
        Set Var=%%~P0
        Set Count=0
        :0
        If "!Var!"=="" GoTo :1
        Set Var=!Var:~0,-1!
        Set /A Count+=1
        GoTo :0
        :1
        Echo Length=!Count!>>C:\1.Txt
        Echo %%0>>C:\1.Txt
        )

    Вот недописанный батник. Только первый файл обрабатывается. А последнее Echo выводит %0, т. е. переменной уже тю-тю.

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 08:16 19-08-2010 | Исправлено: BVV63, 09:14 19-08-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 09:26 19-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