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

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

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

KLASS (06-03-2018 00:44): Объединение тем по сценариям: Сценарии Windows
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

hErAx

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

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

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

  • Отправлено: 01:53 25-10-2015 | Исправлено: Paromshick, 21:51 18-12-2017
    tramparamparam02



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ipmanyak 11:59 01-06-2017
    Цитата:
    2 - зачем делать скриншот таскманагера, если можно вывести данные в текстовый файл?

    Не знал про штатную команду TASKLIST. Посмотрел параметры, там много интересного. Благодарю за подсказку, взял на вооружение и буду её активно юзать.
     
    Тем не менее, TaskList работает с процессами, а мне в данном случае нужен список открытых окон с указанием заголовков. TaskList так не умеет. Не могу придумать ничего лучше, чем сохранение скриншота окна Task Manager, точнее, его первой (дефолтной) вкладки [Applications], где перечислены все открытые окна всех процессов.
     
    Можете помочь с решением моей задачи?

    Цитата:
     в имени файла двоеточия невозможны! Поэтому вот эта хрень - HH:MM:SS, сразу отпадает.

    Да, я в курсе, просто не сообразил сразу Конечно, должно быть с точкой: HH.MM.SS

    Цитата:
     поверь опыту, в имени файла лучше делать формат YYYY.MM.DD,  а не DD.MM.YYYY, при сортировке по имени и  возрастанию сразу будет всё как надо и по порядку !

    Опять же согласен, поправка принимается.
     
    Стало быть, правильная маска имени выходного GIF-файла “Task Manager screenshot YYYY.MM.DD, HH.MM.SS.gif".
     
    NIKZZZZ 12:52 01-06-2017
    Цитата:
    что-бы иконка каталога отображалась, каталогу должен быть присвоен атрибут "системный".

    Разве не атрибут "только для чтения" (read only)?

    Всего записей: 2371 | Зарегистр. 30-03-2016 | Отправлено: 20:07 01-06-2017 | Исправлено: tramparamparam02, 20:11 01-06-2017
    NIKZZZZ



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

    Цитата:
    Разве не атрибут "только для чтения" (read only)?

    То-же вариант, важно что-бы хотя-бы один из них был установлен.
     
     
    Добавлено:
    tramparamparam02

    Цитата:
    TaskList так не умеет.

    Чушь, умеет.

    Код:
    tasklist /v


    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 05:01 02-06-2017
    dddimmm



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

    Цитата:
    Разве не атрибут "только для чтения" (read only)?  

    а что если каталог находится в публичной папке расшаренной по сети, атрибут "Только для чтения" не помешает пользователям сети записывать в нее данные?

    Всего записей: 1849 | Зарегистр. 28-07-2007 | Отправлено: 06:57 02-06-2017
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dddimmm
    Атрибуты относятся только к каталогу, но не к его содержимому, так что проблем быть не должно.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 07:43 02-06-2017
    tramparamparam02



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ 05:01 02-06-2017
    Цитата:
    Чушь, умеет.
    Код:
    tasklist /v

    Я видел параметр /V уже вчера, когда ipmanyak обратил моё внимание на команду Tasklist. Но... простите, вы действительно не видите разницы?  
    Предлагаю пройти следующий увлекательный тест на внимательность  
     
    NIKZZZZ и All
    Может ли кто-нибудь помочь в решении задачи? Если она не решается, то приветствуются любые альтернативные варианты. Ключевые слова: список окон.
    Заранее спасибо!

    Всего записей: 2371 | Зарегистр. 30-03-2016 | Отправлено: 07:50 02-06-2017 | Исправлено: tramparamparam02, 07:58 02-06-2017
    NIKZZZZ



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

    Цитата:
    Кроме того, вывод tasklist не поддерживает Unicode

    Поддерживает, надо только добавить

    Код:
    chcp 65001

    Вывод будет в UTF8.

    Цитата:
    приветствуются любые альтернативные варианты.

    Autoit, решается напрямую в ~5-10 строк.
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 08:45 02-06-2017
    tramparamparam02



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ 08:45 02-06-2017
    Цитата:
    Autoit [?], решается напрямую в ~5-10 строк.

    Поможете составить скрипт? Я с AutoIt имел дело только раз в жизни, это было очень давно и очень по касательной.
     
    А батник + утилита для снятия скриншотов - так не получится?

    Всего записей: 2371 | Зарегистр. 30-03-2016 | Отправлено: 16:33 02-06-2017
    YCampas

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как организовать весь вывод Командной строки (cmd.exe) в файл? Не для отдельной команды, что делается операторами > или >>, а для всей консоли, чтобы вся моя работа дублировалось в файл? У виндового Telnet.exe есть опция -f, вот типа такого и нужно организовать. Гугл ответа не дает.

    Всего записей: 62 | Зарегистр. 11-07-2014 | Отправлено: 17:19 13-06-2017
    Pasha_ZZZ



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    YCampas
    Запустить
    Цитата:
    cmd.exe >file.txt
    - и все будет выведено в файл. Правда тогда на экран не будет выводиться.
    Чтобы и в файл, и на экран - надо запускать через tee

    Всего записей: 12360 | Зарегистр. 11-03-2002 | Отправлено: 17:25 13-06-2017
    Dunkeshu

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YCampas Если Вы хотите отслеживать(контролировать) только "свои действия" с участием cmd.exe, то в простейшем случае создайте, например файл sdd.cmd, который включает в себя то, что Вы планируете запустить из ком. строки, например:
    cmd /?
    tasklist.exe /?
     
    Затем вызываете cmd.exe и ввести sdd.cmd >>wert.txt
     
    Таким образом, после выполнения sdd.cmd, Вы получите справочную информацию по использованию консольных программ cmd.exe и tasklist.exe, которая будет находится в одном файле wert.txt
    Естественно существуют другие варианты, например:
    http://forum.oszone.net/nextnewesttothread-264752.html
    http://winitpro.ru/index.php/2010/07/27/kak-upravlyat-zhurnalami-sobytij-iz-komandnoj-stroki/
    YCampas

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

    Всего записей: 621 | Зарегистр. 25-01-2010 | Отправлено: 14:51 14-06-2017 | Исправлено: Dunkeshu, 00:31 15-06-2017
    YCampas

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

    Цитата:
    Затем вызываете cmd.exe и ввести sdd.cmd >>wert.txt

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

    Всего записей: 62 | Зарегистр. 11-07-2014 | Отправлено: 15:31 14-06-2017
    Pasha_ZZZ



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    YCampas
    Ясно ж сказано: TEE

    Всего записей: 12360 | Зарегистр. 11-03-2002 | Отправлено: 15:33 14-06-2017
    aVitaliy



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

    Код:
    5    CRACKHEAD    1.3 (4317)    1.31 (9970)    1.31 (6672)    1.5 (310)    1.59 (1995)    7397    79р.
    5    Infinitum    1.3 (5175)    1.64 (8829)    1.9 (3473)    2 (1715)         2829    129р.
    5    Case #8    1.31 (2752)    1.37 (1866)    2.49 (926)              2584    99р.
    5    Experience    1.31 (3791)    1.32 (1)    1.47 (1964)    1.55 (6111)    1.99 (1896)    2837    59р.
    7    The Butterfly Sign    1.31 (4648)    1.31 (2451)    1.37 (5497)    2.3 (353)         2319    199р.
    5    Dexodonex    1.31 (1384)    1.32 (2601)    1.99 (1402)    2 (1168)         2353    59р.

     
    Надо сделать чтобы в итоге осталось как-то так:

    Код:
    CRACKHEAD
    Infinitum
    Case #8
    Experience
    The Butterfly Sign
    Dexodonex

    Всего записей: 84 | Зарегистр. 11-01-2006 | Отправлено: 21:30 14-06-2017
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    aVitaliy
    в приведенных данных самое неприятное это наименования типа: Case #8 или The Butterfly Sign
    То есть те которые с пробелами...
    Поэтому придется парсить по такому сценарию:
    - вначале получить первое слово по разделителю точка (через FOR)
    - потом (проще всего через вызов обработки по метке через CALL) обрезать лишний префикс и суффикс как фиксированное количество символов вначале и в конце переменной, соответственно...

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 11:06 18-06-2017
    YuS_2



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

    Цитата:
    парсить по такому сценарию

    Эффективнее не заниматься извращениями, а воспользоваться Powershell-ом, где подобное выполняется гораздо проще и быстрее.

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 11:08 20-06-2017
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2
    ну тогда для того чтоб не быть голословным - сценарий(крупными штрихами - без подробностей) скрипта на Powershell в студию...
     
    ЗЫ - а я и не заметил что в заголовке темы "bat-файлах" следует читать как "ps-файлы"...

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 13:25 20-06-2017
    Yvaliko

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго дня. Появилась интересная задача. Удалять в папках старые бекапы старше чем X дней. Тут проблем нет, все давно написано за нас. Но есть одна оговорка: Должно оставаться 3 последних бекапа.
    Вот тут у меня загвоздка. Была мысль проверять количество файлов, но бекап может состоять как из одного так и из x файлов. В какую сторону копать?

    Всего записей: 770 | Зарегистр. 13-05-2008 | Отправлено: 14:54 20-06-2017
    Pasha_ZZZ



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    3 последних папки чтоль должно оставаться?

    Всего записей: 12360 | Зарегистр. 11-03-2002 | Отправлено: 14:57 20-06-2017
    Yvaliko

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pasha_ZZZ
    Нет. В папке накидано архивов. Должны остаться все файлы которые приходили 3 последних дня. Т.е. есть файлы за 10 число, за 12, 15 и 17. Должны остаться только за 12, 15 и 17, а за 10 можно удалить.

    Всего записей: 770 | Зарегистр. 13-05-2008 | Отправлено: 15:01 20-06-2017
    YuS_2



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

    Цитата:
    скрипта на Powershell в студию

    На слабо не надо давить, не тот случай...
    А если есть желание померяться, то опять же - зачем? Задавшему вопрос, эта тема, видимо, уже не интересна...
     

    Цитата:
    не заметил что в заголовке темы "bat-файлах" следует читать как "ps-файлы"

    Но если, Ваш искрометный сарказм, хоть как-то равен Вашей трудоспособности, напишите то самое извращение, которое было описано выше и покажите его здесь.
    В свою очередь, обязуюсь после этого накропать, что-то подходящее на PS ... ну, так, для наглядности сравнения...
    И да, кстати, если Вы ещё не в курсе, то спешу сообщить, что скрипт PS можно, вполне себе, утрамбовать именно в batch-сценарий... такшта сарказм тут Ваш абсолютно мимо.

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 15:28 20-06-2017
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 12
    KLASS (06-03-2018 00:44): Объединение тем по сценариям: Сценарии Windows


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru