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


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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

hErAx

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

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

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

  • Отправлено: 01:53 25-10-2015 | Исправлено: Nagual, 18:44 04-06-2016
    nik4z



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

    Код:
    call checker progr1.exe progr2.exe progr3.exe
    goto :eof
     
    :checker
    if "%1"=="" goto :eof  
    @for /f "tokens=1,5 delims= " %%i in ('tasklist /FI "IMAGENAME eq %1" /NH') do @set Mem=%%j && @set Prog=%%i
    echo Programm: %Prog%
    echo Memory: %Mem%
    echo Wait...
    pause
    shift
    goto checker


    Всего записей: 218 | Зарегистр. 08-11-2015 | Отправлено: 09:56 12-11-2015
    YuS_2



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

    Цитата:
    Работает с &&  

    Вот, уже и разобрались, что у микрософта в консоли регэкспы весьма своеобразные
     
    Кстати, чтобы выбор фильтруемых процессов был полегче, можно вынести шаблон в переменную, как-то так:

    Код:
    @set fltr="progr1 && 2rgorp && progr3"
    ... ('tasklist /NH^|findstr /i /r %fltr%') ...

    а вообще, "&&" не для выбора нескольких вариантов (просто здесь разделитель - пробел), поэтому будет вернее так:

    Код:
    @set fltr="progr1 2rgorp progr3"
    ... ('tasklist /NH^|findstr /i /r %fltr%') ...

    Естественно, с соблюдением всех правил регэкспов. Ну и ещё плюс в варианте с регэкспами в том, что необязательно строгое соответствие шаблона с названием процесса (гибкая вариативность).

    Всего записей: 1668 | Зарегистр. 03-02-2009 | Отправлено: 11:00 12-11-2015 | Исправлено: YuS_2, 20:21 12-11-2015
    bomzzz



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

    Цитата:
    @echo off
    devcon disable "PCI\VEN_1814&DEV_3060"
    ping -n 6 127.0.0.1>nul
    devcon enable "PCI\VEN_1814&DEV_3060"
    pause
     

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:34 12-11-2015
    popugai



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день. Подскажите как исключить из архивирования файлы с расширением .cdx? Архивируются 3 папки и из одной из них нужно исключить файлы с расширением .cdx Какую команду дописать?

    Всего записей: 506 | Зарегистр. 27-09-2007 | Отправлено: 11:52 17-11-2015
    YuS_2



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

    Цитата:
    Какую команду дописать?

    Зависит от используемого архиватора...

    Всего записей: 1668 | Зарегистр. 03-02-2009 | Отправлено: 13:14 17-11-2015
    AntoshAReal



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

    Код:
     
    set netlogon=%logonserver%\netlogon
     
    for /F %%t in ('type "%netlogon%\Server.txt"') do (
    if /I "%%t"=="%Computername%" call "%netlogon%\server.cmd" else call "%netlogon%\user_pc.cmd"
    )
     

    Всего записей: 289 | Зарегистр. 31-08-2005 | Отправлено: 14:03 17-11-2015 | Исправлено: AntoshAReal, 14:05 17-11-2015
    popugai



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

    Цитата:
    Зависит от используемого архиватора...

    7-Zip

    Всего записей: 506 | Зарегистр. 27-09-2007 | Отправлено: 15:29 17-11-2015
    nik4z



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

    Цитата:
    7-Zip


    Код:
    -x!*.cdx

     
     
    Добавлено:
    AntoshAReal
     

    Код:
    if /I "%%t"=="%Computername%" (call "%netlogon%\server.cmd") else (call "%netlogon%\user_pc.cmd")  

    Всего записей: 218 | Зарегистр. 08-11-2015 | Отправлено: 15:41 17-11-2015
    VitaminP



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    popugai
    Архивацию придется делать в 2 этапа (2 команды). Сначала создаём архив с двумя папками, в которых не нужно исключать файлы. Затем добавляем к этому архиву папку в которой нужно исключать файлы и добавляем ключ "-x!*.cdx".
    Вот пример из справки по этому ключу: 7z a -tzip archive.zip *.txt -x!temp.*

    Всего записей: 235 | Зарегистр. 28-08-2013 | Отправлено: 15:47 17-11-2015 | Исправлено: VitaminP, 15:48 17-11-2015
    popugai



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо всем за помощь. Без разбивки на два архива можно сделать и как? или сложно?

    Всего записей: 506 | Зарегистр. 27-09-2007 | Отправлено: 10:22 18-11-2015 | Исправлено: popugai, 10:22 18-11-2015
    Inoz2000



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

    popugai

    Цитата:
    Без разбивки на два архива
    будьте внимательнее - вам ответили «Затем добавляем к этому архиву»
    Цитата:
    или сложно?


    Всего записей: 1968 | Зарегистр. 23-04-2009 | Отправлено: 10:27 18-11-2015
    popugai



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

    Цитата:
    Inoz2000

    Видел. Спасибо.  
     
    Первые две папки архивируются отдельно, но у архива каждый день текущая дата в названии файла. Какую команду мне прописывать, чтобы 3-я папка добавлялась в уже созданный архив?

    Всего записей: 506 | Зарегистр. 27-09-2007 | Отправлено: 10:37 18-11-2015 | Исправлено: popugai, 10:38 18-11-2015
    nik4z



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

    Цитата:
    но у архива каждый день текущая дата в названии файла.

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

    Всего записей: 218 | Зарегистр. 08-11-2015 | Отправлено: 14:10 18-11-2015
    jcdi



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую народ!
     
    Добрый день! Имеются два текстовых файла с перечисленными именами файлов (из одного каталога), необходимо из этих файлов вытянуть разницу, т.е. какие файлы были добавлены, какие были удалены.
    Пробую вытянуть таким образом
    Код:
     fc /n result.txt result1.txt > otchet.txt

    Получаю кракозяблы (не знаю как перекодировать именно текст на выходе в отчете) + ко всему добавляются другие файлы, которые не были добавлены/удалены (выделил черным только те которые должны быть)
    Читать дальше..
     
     
     
    Попробовал сделать через
    Код:
    findstr /l /x /v /g:result.txt result1.txt >otchet.txt
    , но он выводит мне результат только при добавлении новых файлов в каталог, когда файлы оттуда удаляются, отчет получается пустым.
     
    Как сделать четкий результирующий отчет, который бы позволял следить за изменением файлов в данной папке за определенный период (неделя, месяц, год)?
     
    Помогите пожалуйста, может есть какое-либо другое решение?

    Всего записей: 27 | Зарегистр. 21-05-2014 | Отправлено: 17:54 23-11-2015 | Исправлено: jcdi, 18:09 23-11-2015
    Pasha_ZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    jcdi
    Цитата:
    но он выводит мне результат только при добавлении новых файлов в каталог
    соответственно 2-й вызов FINDSTR, точно такие же параметры, только result.txt и result1.txt поменять местами - получим только удаленные файлы

    Всего записей: 5498 | Зарегистр. 11-03-2002 | Отправлено: 18:01 23-11-2015
    bodasu



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вперёд моя недобитая армия клонов
     
    Это обучение Батвы через опускание на весь русскоязычный.  
    Учим применять правила, одинаково ко всем участникам.  
    Такого представления здесь ещё с Весны не было.
    batvaKismetT
    batvamolchel
      emxDobrezov
     
    batva – хозяин сайта из Тель-Авива, пасёт в "Кто в on-line?"
    emx – и.о. Админ, их рабочий клон articlebot
     
    Возвращение nord0047 всегда вызывает ощущение счастья и справедливости.
    p.s. Ладно бы тебя опустили на чужом, так ведь на своём собственном сайте.

    Всего записей: 18 | Зарегистр. 26-11-2015 | Отправлено: 12:01 26-11-2015
    jcdi



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

    Всего записей: 27 | Зарегистр. 21-05-2014 | Отправлено: 17:59 26-11-2015 | Исправлено: jcdi, 18:12 27-11-2015
    KOJl6aCKA

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

    Цитата:
    Предыдущие части: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)

    А как зайти в часть 11? Там решение было.

    Всего записей: 692 | Зарегистр. 03-09-2012 | Отправлено: 22:40 03-12-2015
    Pasha_ZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    KOJl6aCKA
    Никак, она помэрла

    Всего записей: 5498 | Зарегистр. 11-03-2002 | Отправлено: 23:02 03-12-2015
    KOJl6aCKA

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

    Цитата:
    Никак, она помэрла

    Жаль Но хорошо хоть гугл-кеш остался, откопал таки

    Всего записей: 692 | Зарегистр. 03-09-2012 | Отправлено: 01:31 04-12-2015
    Открыть новую тему     Написать ответ в эту тему

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 12

    Имя:
    Пароль:
    Сообщение

    Для вставки имени, кликните на нем.

    Опции сообщенияДобавить свою подпись
    Подписаться на получение ответов по e-mail
    Добавить тему в личные закладки
    Разрешить смайлики?
    Запретить коды


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2017

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru