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

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

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

vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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





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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 23:07 04-11-2008 | Исправлено: vu1tur, 11:38 26-05-2009
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    xmyrza0
    for %%a in (a b c d ... x y z) Do Echo Copy C:\Autoexec.bat %%a:\Text.txt

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 08:05 29-12-2008
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gbcfkf
    Нет там ошибки - синтаксис верный. Просто внутри цикла нельзя использовать переход по goto - цикл рвется.

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 11:04 29-12-2008
    Lihonosov

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача: подсчитать размер файлов заданного типа в заданной папке.
    Саму задачу решил через цикл  

    Код:
    @echo off
    set fileSize=0
    for /r %1 %%B in (*.%2) do (
        set /A fileSize+=%%~zB
    )
    echo %fileSize%

     
    Запустив с параметрами: myBat.bat C:\Myfolder log
    мы получим размер файлов с расширением log в байтах
    Но как я понял размер числа может быть до 2^32-1
    Как быть если файлов много и они большие?

    Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 11:33 29-12-2008
    Elroir



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

    Цитата:
    Как быть если файлов много и они большие?

    Использовать внешний калькулятор - утилиту clcc.exe (ссылка в шапке, в разделе "Полезные утилиты").


    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 11:43 29-12-2008
    Lihonosov

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

    Цитата:
    Использовать внешний калькулятор - утилиту clcc.exe (ссылка в шапке, в разделе "Полезные утилиты").

    А без сторонних утилит?

    Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 11:50 29-12-2008
    Elroir



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

    Цитата:
    А без сторонних утилит?

    Только, если реализовать алгоритм сложения в столбик


    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 12:05 29-12-2008
    gbcfkf



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

    Цитата:
    Нет там ошибки - синтаксис верный. Просто внутри цикла нельзя использовать переход по goto - цикл рвется.

    Понятно.
    А как тогда грамотно выйти из цикла?

    Всего записей: 702 | Зарегистр. 17-10-2006 | Отправлено: 12:14 29-12-2008
    Elroir



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

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 12:59 29-12-2008
    gbcfkf



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    Уже не надо - разобрался.

    Всего записей: 702 | Зарегистр. 17-10-2006 | Отправлено: 13:43 29-12-2008
    AlexLev59

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ВОПРОС:
    Пытаюсь сложить в одну программную стоку 2-е, но не получается - не срабатывает 2-я часть.  
    CHCP 1251 > Nul & Set z0=Текст сообщения
    Прошу подсказать решение. Спасибо.

    Всего записей: 115 | Зарегистр. 04-12-2006 | Отправлено: 13:56 29-12-2008 | Исправлено: AlexLev59, 13:59 29-12-2008
    01MDM



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

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 13:58 29-12-2008
    AlexLev59

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CHCP 1251 > Nul & Set z0=Текст сообщения

    Всего записей: 115 | Зарегистр. 04-12-2006 | Отправлено: 14:13 29-12-2008
    01MDM



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

    Код:
     
    @echo off
     
    CHCP 1251 >Nul & Set z0=Текст сообщения
    echo %z0%
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 14:22 29-12-2008
    AlexLev59

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Ну вот, так работает:
    CHCP 1251 > Nul
    Set z0=ЧТОБЫ НАЧАТЬ ПРОЦЕСС КОПИРОВАНИЯ - НАЖМИТЕ ЛЮБУЮ КЛАВИШУ.
    CHCP 866 > Nul & Echo %z0%
    а так - нет:
    CHCP 1251 > Nul & Set z0=ЧТОБЫ НАЧАТЬ ПРОЦЕСС КОПИРОВАНИЯ - НАЖМИТЕ ЛЮБУЮ КЛАВИШУ.
    CHCP 866 > Nul & Echo %z0%

    Всего записей: 115 | Зарегистр. 04-12-2006 | Отправлено: 14:32 29-12-2008
    ruslanx3m

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev a mne ne nujen slu4ainii mac address (u menea svoi mac-i ), da ata proga vobshe ni4eva ne delaiet ne rabotaiet , nujna drugaia .... ???!

    Всего записей: 5 | Зарегистр. 25-11-2008 | Отправлено: 14:47 29-12-2008
    01MDM



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

    Цитата:
    а так - нет:
    CHCP 1251 > Nul & Set z0=ЧТОБЫ НАЧАТЬ ПРОЦЕСС КОПИРОВАНИЯ - НАЖМИТЕ ЛЮБУЮ КЛАВИШУ.
    CHCP 866 > Nul & Echo %z0%  

     
    Так тоже работает. Только не ясно зачем это нужно. Если файл изначально в cp1251, то достаточно `chcp 1251 1>nul`, если надо установить cp866 то тогда:
     

    Код:
     
    CHCP 1251 > Nul & Set z0=ЧТОБЫ НАЧАТЬ ПРОЦЕСС КОПИРОВАНИЯ - НАЖМИТЕ ЛЮБУЮ КЛАВИШУ.
     
    Echo %z0% & CHCP 866 > Nul
     
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 14:51 29-12-2008
    AlexLev59

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

    Цитата:
     
    CHCP 1251 > Nul & Set z0=ЧТОБЫ НАЧАТЬ ПРОЦЕСС КОПИРОВАНИЯ - НАЖМИТЕ ЛЮБУЮ КЛАВИШУ.  
     
    Echo %z0% & CHCP 866 > Nul

     
    Вот такая конструкция - выдает текст в окне уже не по-русски.

    Всего записей: 115 | Зарегистр. 04-12-2006 | Отправлено: 15:13 29-12-2008
    xmyrza0



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

    Всего записей: 8 | Зарегистр. 09-10-2007 | Отправлено: 15:21 29-12-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AlexLev59
     
    Все зависит от того в какой кодировке сохранен батник. Если в cp1251, все будет нормально, если в cp866 - будут Ља Є®§пЎал

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 15:26 29-12-2008
    AlexLev59

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

    Цитата:
    Все зависит от того в какой кодировке сохранен батник

    ... Да вообще-то в  cp1251...

    Всего записей: 115 | Зарегистр. 04-12-2006 | Отправлено: 15:33 29-12-2008
       

    Страницы: 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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 6
    vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru