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

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

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

evle (19-03-2008 19:44): Лимит страниц.
Задачи на bat-файлах 5
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:21 11-09-2007 | Исправлено: Elroir, 01:52 26-02-2008
    Elroir



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

    Цитата:
    А как же ключ 'l'

    А ты попробуй
    И обязательно на файлах с длинными именами с пробелами.

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:04 17-12-2007
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir - ИМХО - если предположить что такие имена сидят уже сидят в архиве - то значит он их поддерживает - ведь их туда каким-то образом поместили? Так что и пробовать нечего - надо всего лишь взять ту версию архиватора которой все это было создано...  А так понятно - что например версия под DOS 1994 года таковой поддержки иметь не будет, но ведь это совсем не последняя версия!
     


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

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 21:11 17-12-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    yurkesha
    Я не про поддержку файлов с длинными именами говорил, а про то, как arj их показывает.
    Версию arj-а я брал последнюю. Так что ты все-таки попробуй.

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 06:44 18-12-2007
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir - раз ты так настаиваешь пробуем:
    берем последнюю версию arj32v314a (скачанную отсюда)
    Архивируем папку с длинным именем и содержащую файлы с пробелами в именах, с множесмтвенныими точками и т.д. и т.п. Проверяем - никаких проблем с командой arj32 -l
    ЗЫ - только не надо мне говорить что ты пробовал более старую версию - данная была зарелизена 1 августа 2006 года
     
    Добавлено: или ты имеешь в виду что записи состоящие из двух строчек сложно парсить?
    В такой ситуации не надо понимать мои слова о arj l буквально
    Вполне табличный вид получится при использовании ARJ32.EXE v -jv1 "какое-то_имя.ARJ"
    Да и вобщем это тоже не все варианты - я думаю что изучение arj.txt даст еще серьезную пищу для размышлений. Но не распаковывать же все файлы

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

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 11:40 18-12-2007 | Исправлено: yurkesha, 15:41 18-12-2007
    Accessor



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

    Всего записей: 2863 | Зарегистр. 31-10-2003 | Отправлено: 12:49 18-12-2007
    BasiL



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

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


    Код:
    netsh dump > file.name
    netsh exec file.name

    Всего записей: 3247 | Зарегистр. 13-03-2004 | Отправлено: 12:58 18-12-2007 | Исправлено: BasiL, 13:00 18-12-2007
    Elroir



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

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

    Именно это я и имел в виду (ну почти это)
    Даже используя "v -jv1", практически невозможно вытащить нужные поля. И дело тут даже не в двух строчках, а в невозможности заранее узнать сколько пробелов будет в имени файла и, соответственно, вытащить это название.  
    P.S.Конечно же, я использовал самую последнюю версию arj-а.
    P.P.S. Если здесь есть спецы, способные показать мне, как можно настроить в arj-e фильтр того, что он (arj) выдает, я буду очень рад

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

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ помогите пожалуйста!!!!
     
    "Создайте командный файл, который спрашивает: «Хотите ли вы узнать, как работать с программой ARJ.exe?» – и при положительном ответе («Y») выдает описание работы с программой, в противном случае прощается с вами."
     
    "Создайте командный файл, который выполняет следующие действия: используя команду FOR, выдает на экран содержимое каталога NC, находящегося на диске C: в каталоге NC; после чего спрашивает: «Хотите ли вы распечатать данный каталог на принтере?»; при положительном ответе распечатывает содержимое каталога."

    Всего записей: 2 | Зарегистр. 18-12-2007 | Отправлено: 19:57 18-12-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gogo222
    Для какой версии Windows эти задания?

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:04 18-12-2007
    yurkesha



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

    Цитата:
    невозможности заранее узнать сколько пробелов будет в имени файла
    вот как раз именно при v -jv1 проблем не составляет. Благо имя в этой ситуации идет последним, а обозначения для цикла for типа 1*(один это тока для примера) еще никто не отменял.


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

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 20:46 18-12-2007
    Elroir



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

    Цитата:
    Благо имя в этой ситуации идет последним

    ОК. Приведу пример. Вот 3 строчки из вывода "arj v -jv1":

    Код:
     
    011 WIN95          1405        693 0.493 01-09-28 17:20:24 670D8AA6 A--W B 1    .txt    arj.txt.txt                      arj.txt.txt
    011 WIN95        267270      75228 0.281 06-07-29 00:28:40 9FE57173 A--W B 1    .TXT    Copy of ARJ.TXT                  Copy of ARJ.TXT
    011 WIN95          5073       2001 0.394 06-07-29 00:28:40 BFB90711 A--W B+1    .TXT    AGENTS.TXT                       New Folder\AGENTS.TXT

     

    Как в этом случае посчитать какой токен брать?

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:38 18-12-2007 | Исправлено: Elroir, 21:41 18-12-2007
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir - так ты еще коменты пишешь в архив... Тоды еще посмотрю - там было что-то начет того чтоб коменты не отображать...  
    Хотя непонятно зачем в коменты писать имя файла... В такой ситуации полезней было бы уж запихнуть в него листинг файлов или вообще воспользоваться другим архиватором: во-первых бесплатным(arj под win32 все еще платен), во вторых тем который развивается активней , ну и на закуску поддерживающий мультипоточность(не реклама - имя то я не назвал!).


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

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 21:46 18-12-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    yurkesha
    Я вообще arj-ем в последний раз пользовался в тысяча девятьсот забытом году. Сам архиватор скачал специально, чтобы помочь Estevan-у. Ну и создал тестовый архив без всяких заморочек - "arj a -r archive *.*"
    То есть он по умолчанию добавляет комментарии.
    Все претензии и пожелания к Estevan


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:01 18-12-2007 | Исправлено: Elroir, 22:08 18-12-2007
    allexb

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    *************** ПЕРЕИМЕНОВАНИЕ ФАЙЛОВ ***************
    В папке есть файлы:
    provider.dll.reg
    pscssint.dll.reg
    psuiteax.ocx.reg
    ...
     
    необходимо переименовать в:
    provider(dll).reg
    pscssint(dll).reg
    psuiteax(ocx).reg
    ...
     
    или в:
    provider.reg
    pscssint.reg
    psuiteax.reg

    Всего записей: 3 | Зарегистр. 19-12-2007 | Отправлено: 13:38 19-12-2007 | Исправлено: allexb, 13:42 19-12-2007
    Elroir



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

    Код:
     
    @echo off
    for %%a in (*.*.reg) do call :renfile "%%a"
    goto :EOF
    :renfile
    for /f "tokens=1* delims=." %%b in ("%~n1") do ren %1 "%%b^(%%c^).reg"
     


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:14 19-12-2007
    allexb

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
     
    Спасибо огромное! но луче без ^

    Код:
    do ren %1 "%%b(%%c).reg"


    Всего записей: 3 | Зарегистр. 19-12-2007 | Отправлено: 15:34 19-12-2007
    Elroir



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

    Цитата:
    луче без ^  

    Конечно лучше.
    Это я тестировал с командой echo и без кавычек, a она плохо скобки воспринимает.

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 15:50 19-12-2007
    Elisaveta

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уважаемые "гуру"!Нужно решение таких двух задач:
    1.Посчитать общее количество каталогов и файлов на указаном диске(С возможностью выбора диска с сувщевтвующих).
    2.Вывести на экран имена скрытых файлов на указаном диске(С возможностью выбора диска с сувщевтвующих).Выводить надо по одному,с возможностью сделать или его не сыкрытым(attrib -h) или вывести на экран следующий скрытый файл с этого диска.

    Всего записей: 5 | Зарегистр. 12-11-2007 | Отправлено: 20:18 19-12-2007
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elisaveta
     
    1
     
    @echo off
    set /p disk=Choice of a disk      
    for /f "tokens=*" %%c in ('dir %disk%:\ /b') do set /a count+=1
    echo %count%
     
    добавить ключи к dir для подсчёта скрытых, системных файлов, подкаталогов

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 21:08 19-12-2007 | Исправлено: king_stiven, 21:10 19-12-2007
    xitsa



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Нашёл интересную коллекцию bat-функций.
    Запустить сразу удалось не всё, но есть что почерпнуть.
    И ещё одна.

    Всего записей: 103 | Зарегистр. 25-04-2006 | Отправлено: 22:56 19-12-2007
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 4
    evle (19-03-2008 19:44): Лимит страниц.
    Задачи на bat-файлах 5


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru