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

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

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

vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:37 26-05-2009 | Исправлено: TechnicsKuzya, 13:53 27-12-2009
    slay1212

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    TechnicsKuzya
    wolf0425
     Вывод команд dir c:\windows\system32\drivers из cmd (w2k3 r2 x64)
    x32:
    .....
     12 files  
    2 dir(s)
    x64:
     ......
    186 files
    6 dir(s)
    папка  system32 x32 : 1594 и 23
                             x64 :  1746 и 54
    Вроде налицо небольшая разница . Значения разные тк при явном указании в команде  
    папки system32 команда работает в папке syswow64
     Редирект конечно идет не на все папки но несомненно надо его учитывать при создании батников в 64х битной среде
     
     

    Всего записей: 336 | Зарегистр. 28-05-2008 | Отправлено: 09:27 30-12-2009 | Исправлено: slay1212, 09:33 30-12-2009
    TechnicsKuzya



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

    ----------
    Все гениальное, просто!
    TechnicsKuzya site

    Всего записей: 495 | Зарегистр. 02-02-2008 | Отправлено: 10:22 30-12-2009 | Исправлено: TechnicsKuzya, 10:25 30-12-2009
    GORA2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    TechnicsKuzya
    Приведите пример (дайте ссылку) готового инсталлятора для установки какой нибудь программы, работающей в двух вариантах (х86 и х64), который бы:
    - был универсальным  
    - не зависел от разрядности системы, в которой производится установка
    - не зависел от среды запуска на х64 системах
    - требовал доступа к "проблемным" системным папкам
    - показал преимущества предлагаемого Вами метода установки
     
    Т.е., не отдельные строки батников, которые еще как то нужно объединить, а именно готовое изделие - инсталлятор.

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 10:55 30-12-2009
    KLERIK2222



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


    ----------
    не вини меня, вини общество вокруг меня.

    Всего записей: 635 | Зарегистр. 29-03-2006 | Отправлено: 11:57 30-12-2009
    TechnicsKuzya



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

    Код:
    dir /B>Files.txt
    суть скрипта, сам скрипт где-то в дебрях думаю найдете...
     
    Добавлено:
    GORA2, тут есть сборник, как для 32-битной, так и для 64-битной системы основной скрипт на 99% одинаков для обеих версий, ввиду того, что в XP 64-bit (без технического обновления) невозможно получить доступ к папке System32 из 32-разрядной консоли, приходится "выносить" 64-битный cmd.exe за пределы его типичного расположения. В Vista/Seven этой проблемы уже нет, т.к. доступ возможен через виртуальную папку, для получения "корректных" значений переменных остается лишь перейти в 64-битную консоль. Если для Вас проблема правильно воспользоваться вышеприведенным кодом, и понять ситуацию, когда им необходимо воспользоваться, разбирайтесь, мне Вас учить некогда, да и желания нет.

    Всего записей: 495 | Зарегистр. 02-02-2008 | Отправлено: 13:07 30-12-2009 | Исправлено: TechnicsKuzya, 13:25 30-12-2009
    GORA2



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

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

    TechnicsKuzya
    Что ж Вы убегаете как нашкодивший мальчишка?
    Я Вас не просил меня учить, я свои университеты 30 лет назад закончил и знаю, что хамить незнакомым людям неприлично, но Вам папа с мамой, видимо, этого не объяснили!

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 13:55 30-12-2009
    KLERIK2222



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


    ----------
    не вини меня, вини общество вокруг меня.

    Всего записей: 635 | Зарегистр. 29-03-2006 | Отправлено: 13:55 30-12-2009
    TechnicsKuzya



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GORA2, если 30 лет назад закончили и остановились, тогда тем более Вам не помешает освежить Ваши знания, т.к. из вышеприведенных Ваших постов ясно одно, либо Вы не хотите или не можете понять суть изложенного, либо считаете себя умнее других.  
     
    P.S. Насчет "убегаете" - все, что я хотел изложить, я изложил. Очень интересно, какую мою фразу Вы сочли за хамство?

    Всего записей: 495 | Зарегистр. 02-02-2008 | Отправлено: 15:00 30-12-2009 | Исправлено: TechnicsKuzya, 15:01 30-12-2009
    KLERIK2222



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    контекстное меню папки редактируем через реест.
    например создаем такой раздел
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Создать список файлов\command
    значению "По-умолчанию" нужно присвоить, либо путь до батника, тогда создается список файлов в той папке, где лежит сам батник, а не той, по которой щелкаю второй кнопкой мыши. либо прописать сам код, тогда вообще ничего не происходит, вылазит черное окно и всё.  
     
    незнаю, что делать

    ----------
    не вини меня, вини общество вокруг меня.

    Всего записей: 635 | Зарегистр. 29-03-2006 | Отправлено: 15:14 30-12-2009
    maa78s

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет!
    Никто не может подсказать как можно решить задачу, которую я описывал тут:
    http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=2000#21
     
    Буду очень благодарен

    Всего записей: 17 | Зарегистр. 10-07-2009 | Отправлено: 15:36 30-12-2009
    TechnicsKuzya



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    maa78s, используйте конструкцию IF EXIST path\filename () ELSE ()
     
    В первые скобки вставляете команду принудительного копирования и вывод в текстовый файл, во вторые просто команду копирования. Либо в первые только вывод в текстовый файл, а после конструкции IF EXIST, команду принудительного копирования.

    ----------
    Все гениальное, просто!
    TechnicsKuzya site

    Всего записей: 495 | Зарегистр. 02-02-2008 | Отправлено: 15:49 30-12-2009 | Исправлено: TechnicsKuzya, 15:57 30-12-2009
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    maa78s
    я бы воспользовался robocopy:
    (устал уже повторять что для папок нет ничего идеальнее)
    robocopy/mir "что" "куда"|findstr Newer>txt.log
    в логе с меткой "Newer" будут чётко отображены размер и имя изменённых файлов
     
     
    Добавлено:
    так лог почище будет
    echo.>txt.log&for /f "tokens=3" %%a in ('robocopy/mir "что" "куда"^|findstr Newer') do echo %%a>>txt.log

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 18:02 31-12-2009 | Исправлено: Nagual, 18:33 31-12-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Друзья!, всех с наступающим 2010 годом! Желаю здоровья, удачи, успехов.
    C Уважением, Дмитрий.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:19 31-12-2009 | Исправлено: 01MDM, 20:24 31-12-2009
    ruslan55x55

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте! Всех с новым годом!
     У меня тут был вопрос, нужно решить такую задачу: с помощью Bat файла из директории Program files нужно удалить папки в именах которых содержатся определенные символы(например удалить папки содержащие в своем имени слово mir), папки нужно удалять со всем содержимым(включая файлы и папки). Заранее Спасибо!

    Всего записей: 4 | Зарегистр. 19-12-2009 | Отправлено: 15:49 01-01-2010
    mugil_cephalus

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

    Цитата:
    И ещё,подскажите где найти инфу,как создать свой .inf файл,что в нём должно содержаться и т.д. и т.п.  

    http://oszone.net/3827

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 22:35 01-01-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ruslan55x55
    Цитата:
    из директории Program files нужно удалить папки в именах которых содержатся определенные символы
    например как-то так:
    Код:
    for /d %%i in ("C:\Program Files\*.*") do (
     echo %%~nxi | findstr mir && rd /s /q "%%~fi"
     echo %%~nxi | findstr war && rd /s /q "%%~fi"
    )

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 02:31 02-01-2010 | Исправлено: wolf0425, 02:33 02-01-2010
    ruslan55x55

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Большое Спасибо вам wolf0425 за помощь!, у меня все никак не получалось, я еще не совсем хорошо разбираюсь в этих командах.

    Всего записей: 4 | Зарегистр. 19-12-2009 | Отправлено: 13:48 02-01-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    походу аберрация EQL (EQU - equal) многим жизнь попортила(тит) - вот Joo1z from page 58:
     

    Цитата:
    slay1212  
    Все возможно. Временно создаешь файл куда скидываешь нужные настройки введенные с консоли, а потом переименовываешь его в исходный. А обработку делаешь из IF и SET.  
     
     
    Код:IF %param1% NOT EQL "Желаемое значение" (  
    ECHO Введите желаемое значение  
    SET /p %param1%=  
    )  


    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 15:07 02-01-2010
    niko7

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, нужно получать вчерашнюю дату. Сделал так:
    set /a da = %date:~0,2%
    set /a ok = da -1
    Проблема в том, что первое число каждого месяца минус 1 получается 0, а надо последнее
    число месяца. Может есть какой-нибудь красивый способ .

    Всего записей: 2429 | Зарегистр. 23-09-2004 | Отправлено: 12:28 03-01-2010 | Исправлено: niko7, 12:29 03-01-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите как попроще вывести в консоль/файл строки file.txt
    начиная от последней строки содержащей string1 до конца файла

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 23:44 03-01-2010 | Исправлено: wolf0425, 10:49 04-01-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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 7
    vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru