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

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

Модерирует : gyra, Maz

Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

cchameleone



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
(часть 1) (часть 2) (часть 3) (часть 4)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ more ].  

Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Сценарии Windows

Полезные ссылки:
· Из Windows XP Professional Product Documentation:
» Описание Cmd.exe » Command shell overview
» Using batch files » Using batch parameters » Using filters » Using command redirection operators
 
· Уроки bat-аники (для начинающих): первый и второй
· Курс из 19 лекций "Командная строка и сценарии Windows"
· Попов А. Командная строка и сценарии Windows (PDF). Курс лекций для начинающих
· Бокалий В. Командная строка (pdf-брошюрка в 20 страниц)
· Александров А., Дибров А. Урок bat-аники (pdf)
· Уильям Р. Станек - Командная строка Windows. Справочник администратора
 
· Скрываем консольные окна, Выполнение BAT-скриптов без вызова окна консоли
· cmdow — изменение параметров и видимости дос-окна, Статья в КОМПЬЮТЕРРАONLINE
· Набор GNU утилит для win32
· HS_Packet.7z - Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· blat — отправка почты из консоли
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Easy Batch Builder+Rus+Crack - Редактор BAT файлов.Через графический интерфейс программы вы сможете быстро конструировать пакетные файлы практически любой сложности. (В комплекте есть Лоадер созданный с помощью Sign Of Misery некоторые антивирусы обзывают его вирусом. Вам решать: ставить или не ставить) (ЗЕРКАЛО)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек) ещё и ещё
· Переход из 32-битной версии cmd.exe в 64-битную (1) (2)(3)

Всего записей: 2279 | Зарегистр. 16-10-2015 | Отправлено: 09:22 29-04-2016 | Исправлено: Maz, 08:47 26-03-2020
Sinclair83

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

Цитата:
А вообще, интересно наблюдать, как ежики, 20 лет жрущие кактусы (aka работающие в Проводнике), героически преодолевают возникающие из-за этого трудности.

Дело привычки (сам пользуюсь TC). Но если есть мысли по теме, то почему бы и не помочь.

Всего записей: 758 | Зарегистр. 07-01-2009 | Отправлено: 13:58 08-10-2019 | Исправлено: Sinclair83, 13:59 08-10-2019
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sinclair83
С 21 должно быть. Я просил автора Clean Alt-Tab отрубить эту классную фичу (как и сделать версию для x86), но увы. Может, кто из местных, владеющих умениями, сподобится?

----------
Magically yours
Raistlin

Всего записей: 4132 | Зарегистр. 18-04-2005 | Отправлено: 14:06 08-10-2019
Sinclair83

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

Цитата:
Может, кто из местных, владеющих умениями, сподобится?

Точно не я. Наверное нужно тему создать отдельную и в ней описать проблему. Может просто никто не сталкивался с этим или не обращал внимание.

Всего записей: 758 | Зарегистр. 07-01-2009 | Отправлено: 14:49 08-10-2019
kot1313



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sinclair83
Ваша программа работает идеально  
Глушит все окна проводника кроме активного (другими словами - последнего, крайнего), в котором я работал.  
Всех видимо смутило слово Активное. Но не Вас. Вы поняли меня сразу !
А Применение Вашей программы следующее:
Когда работаешь с большим количеством документов и\или фото, постепенно становится очень много открытых окон проводника.
Вариантов их закрыть все скопом много. Но очень часто мне нужно, чтоб последнее окно проводника, в котором я работал (или работаю), оставалось открытым.
Можно назвать это окно активным или крайним или последним. Сути это не меняет
Да, утилитку запускал хоткеем её ярлыка из TLB.
 
GCRaistlin

Цитата:
А вообще, интересно наблюдать, как ежики, 20 лет жрущие кактусы (aka работающие в Проводнике), героически преодолевают возникающие из-за этого трудности

Спасибо за комплимент
Вообще-то это дело вкуса. Кто-то ездит на Крузере, кто-то на УАЗике. Для разных задач разные машины
Я работаю и в и тотале и в фаре, но для скорости предпочитаю интерфейс проводника.
Но именно тот, к которой привык в нулевых. В 2014, когда переходил с XP на 7, потратил немного времени на приведение проводника в привычный вид. С тех пор с удовольствием пользуюсь.  
 
Добавлено:
Smitis

Цитата:
можете попробовать следующий скрипт на PowerShell  

Если Ваш срипт сохранить в файл OnlyLastOne.ps1 и запустить двойным кликом по файлу, то открывается блокнот ... с текстом скрипта. А ПКМ-Запустить в PowerShell просто закрывает часть окон, причем в случайном порядке (ну по крайней мере у меня)
К сожалению мне этот вариант не подошел.  
Но за помощь  
Спасибо

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 01:34 09-10-2019 | Исправлено: kot1313, 02:04 09-10-2019
Jonmey

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

Цитата:
Sinclair83
Ваша программа работает  идеально

И зачем, спрашивается, было компостировать мозги две страницы?
Впрочем я предупреждал потенциальных помошников, что помощь окажется априори бессмысленной.
 
Для вновь присоединившихся пояснение:
Выше, когда данному юзеру было предложено уже готовое решение (да не одно, а сразу два)
Цитата:
А это что по вашему?
http://forum.ru-board.com/topic.cgi?forum=5&topic=48565&start=2660#17
(с этого поста и до конца страницы)
он заявил, что
Цитата:
Моя же задача противоположна той, на которую Вы мне указали.
Спустя страницу, когда его потыкали носом в его глюкохотелки (то есть, альтернатив уже предложенным решениям не предлагали), он уже заявляет

Цитата:
Sinclair83
Ваша программа работает  идеально
.
Что откатывает внимательного читателя к моему изначальному посылу-совету предложенному данному юзеру:
Цитата:
 В противном случае, открыв версию для печати даже данной темы и попытавшись наугад вбить в поиск баузера (Ctrl-F), например, "окна проводника" тотчас же нашли бы ответ на свой вопрос.

____________
 
Как уже и сказал выше, поведение данного юзера полностью копирует поведение другого юзера ("случайно" имевшего те же хотелки) , что с высокой степенью гарантии позволяет заключить, что kot1313 = Stone_01 со всеми выекающими отсюда рекомендуемыми (и уже неоднократно) потенциальным помощникам предосторожностями при желании помочь этому "дуэту".

Всего записей: 1377 | Зарегистр. 17-01-2011 | Отправлено: 02:18 09-10-2019 | Исправлено: Jonmey, 02:26 09-10-2019
kot1313



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

Цитата:
kot1313 = Stone_01

А я подумал, что это было оскорбление
Типа я туп как камень...
Кстати, кто такой этот вышеупомянутый стоун ?

Цитата:
И зачем, спрашивается, было компостировать мозги две страницы?  

Простите, но это Вы не понимали русского языка

Цитата:
Спустя страницу, когда его потыкали носом в его глюкохотелки (то есть, альтернатив уже предложенным решениям не предлагали), он уже заявляет
 
Цитата:
Sinclair83
Ваша программа работает идеально  

Вчера я написал письмо Sinclair83 с просьбой сделать код, обратный коду, выложенному им ранее.
И Sinclair83 прислал мне  сегодня в личную почту программу, которая выполняет мои задачи,  
обсуждавшиеся последние два дня.  
Об этом, кстати,  Sinclair83 сообщил на предыдущей странице топика.  
И её здесь исчо никто не выкладывал, в том числе на последних страницах.
И она не идентична тем решениям, которые указывались в этом топике.
Если Sinclair83 захочет эту программу выложить в общий доступ, то он её выложит.
Спрашиваете у него.
 
Jonmey
А Вам лично порекомендую почитать учебник "Формальная Логика" Кириллова и Старченко.
А то у Вас реально странная логика, наверно, креативная  
 
 
 

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 02:50 09-10-2019 | Исправлено: kot1313, 03:37 09-10-2019
Jonmey

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

Всего записей: 1377 | Зарегистр. 17-01-2011 | Отправлено: 03:53 09-10-2019
Smitis



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

Цитата:
Если Ваш срипт сохранить в файл OnlyLastOne.ps1 и запустить двойным кликом по файлу, то открывается блокнот

Это индусы нашли фатальный недостаток в безопасности Винды и запилили в PowerShell свой
Решение в параллельной теме http://forum.ru-board.com/topic.cgi?forum=62&topic=30859 в шапке.
Лучше запускать по горячей клавише из TLB: powershell.exe -nologo -exe bypass -f "путь к сценарию"
По двойному клику же закроются все окна, так как окно проводника потеряет фокус.
Вам это, как я понял, уже не нужно. Просто для информации.

----------
Разум когда-нибудь победит

Всего записей: 3452 | Зарегистр. 09-02-2003 | Отправлено: 12:46 09-10-2019
Stone_01



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

Цитата:
Как уже и сказал выше, поведение данного юзера полностью копирует поведение другого юзера ("случайно" имевшего те же хотелки) , что с высокой степенью гарантии позволяет заключить, что kot1313 = Stone_01 со всеми выекающими.

Меня, вы зачем сюда приплели в свои рассуждения? Я смотрю вы никак не успокоитесь. Видать много желчи накопилось. Научитесь не бежать вперед паровоза и не делать выводов, которые ничем не подкреплены. "Шерлок Холмс".  Мы никак не связаны с пользователем  kot1313. А то что запросы у двух разных пользователей в чем-то совпали, бывает представляете и такое случается. Это не укладывается в вашей  головушке?  и ничего с вами не случилось, что вы потратили свое время и ответили для kot1313. А то я смотрю вас это сильно задело.

Всего записей: 352 | Зарегистр. 22-12-2017 | Отправлено: 15:39 09-10-2019 | Исправлено: Stone_01, 15:50 09-10-2019
kot1313



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

Цитата:
Решение в параллельной теме http://forum.ru-board.com/topic.cgi?forum=62&topic=30859 в шапке.  

Спасибо огромное за наводку на активацию ассоциаций .ps1 d проводнике.
Но Ваш скрипт работает как то странно, - то глушит все окна, то оставляет несколько из многих.
Так и не смог научным тыком понять реальный алгоритм этого скрипта.
 
Stone_01
Единственная моя ошибка была в том, что я ввязался в дискуссию с пользователем Jonmey
 
Вот ответ Sinclair83 на мой вопрос.

Цитата:
Если правильно понял задачу, то вот ссылка. Не bat (не предназначен он для работы с окнами). Суть кода - перечисление всех видимых окон, обработка тех из них, которые имеют класс "CabinetWClass" (проводник) и отправка всем им сообщения PostMessage (в очередь, не ожидая завершения), кроме самого первого из найденных (которое по сути является последним активным. это наглядно видно при переключениях между окнами по alt-tab).
 
Ещё раз. Если нет открытых окон проводника или открыто только одно окно проводника (не важно активно или нет), то ничего не произойдёт. В противном случае закроются все найденные окна проводника, кроме того, которое было активным последним.
 
Как решить эту задачу батником не знаю. Если это возможно, то скорее всего это будет не чистый bat (гибрид), то есть bat + powershell или bat + vbs и т.д.
 
Решение от  Sinclair83 у меня на W7 железобетонно глушит все окна проводника, кроме крайнего\последнего\активного.  
Назову его "Останется только один"

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 20:22 09-10-2019 | Исправлено: kot1313, 22:33 09-10-2019
Sinclair83

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
перечитал цитату и вижу, что не дописал предложение (по смыслу). "...и отправка всем им сообщения на закрытие PostMessage... "

Код:
PostMessage_(hWnd,#WM_CLOSE,0,0)

 

Цитата:
Да, а можно в утилиту встроить иконку

нет возможности ответить в ЛС (ни вчера ни сегодня), ошибка при отправке письма. Поэтому отвечаю здесь, может кому ещё пригодится программка.
 
GCRaistlin

Цитата:
С 21 должно быть.

Cледовательно где-то этот счётчик таки зарыт (теоритически). Вопрос в том, чтобы отыскать его и накрутить, скажем до 100 (чтобы сортировка стартовала при открытии >100 окон). Может ManHunter поможет.

Всего записей: 758 | Зарегистр. 07-01-2009 | Отправлено: 09:29 10-10-2019 | Исправлено: Sinclair83, 09:42 10-10-2019
kot1313



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

Цитата:
Может ManHunter поможет

Да, ManHunter - это сила. Скока его прожек пользую.
У него исчо и рецепты поесть шикарные.
ЛС действительно глючит, ничего невозможно отправить.
Насчет иконки - каждый встроит ту иконку, которая ему нравится.
Это правильное решение

Цитата:
 Вопрос в том, чтобы отыскать его и накрутить, скажем до 100

В реальности более 10-15 окон проводника было открыто раза 2 в жизни
Но если найдёте, как накрутить до 100, то запас карман ну совсем не тянет
Исчо раз  
Спасибо
за Вашу работу

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 12:48 10-10-2019 | Исправлено: kot1313, 12:51 10-10-2019
Smitis



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

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

Фиг знает. Алгоритм такой - определяем хендл самого верхнего окна. Потом перечисляем все окна проводника (кроме рабочего стола), если хендл не совпадает с самым верхним - закрываем.

----------
Разум когда-нибудь победит

Всего записей: 3452 | Зарегистр. 09-02-2003 | Отправлено: 16:21 10-10-2019
kot1313



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

Цитата:
Фиг знает

Smitis
Ну и бог с ним, со скриптом. Тем более рабочее решение уже есть.
Но в копилке оставлю.
Может в другом контексте будет стабильно работать.
А За попытку решить мой вопрос
Спасибо.
 
Кстати, у нас теперь есть практически все варианты "Как прибить Эксплорер"
Может отдельную ветку создать с этими решениями. Думаю многим пригодится.
 
Sinclair83
А Вы сами пишете эти маленькие программки ?

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 22:07 10-10-2019 | Исправлено: kot1313, 22:12 10-10-2019
GCRaistlin



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

Цитата:
В реальности более 10-15 окон проводника

При чем тут окна Проводника? Речь об общем количестве окон.

----------
Magically yours
Raistlin

Всего записей: 4132 | Зарегистр. 18-04-2005 | Отправлено: 17:41 11-10-2019
Igorekk1981

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго дня.  
Может поможет кто написать батник.
Дали задание х.з. как тут в нем разобраться.
 
Собственно вот что нужно
Написать 1 bat-скрипт (все в одном бат-файле), выполняющий следующие действия:
 
a. Создающий в текущем каталоге (в котором находится запускаемый bat-файл) каталог с названием в виде «Screenshots_текущая_дата» и перемещающий туда из текущего каталога все файлы с расширением, указанном в качестве первого параметра, передаваемого из командной строки.
 
b. Записывающий названия всех перемещенных файлов в файл screenshots.found (дописывает в конец файла или создает новый, если такого не было), который находится в том же каталоге, что и запускаемый bat-файл.
 
с. Архивирующий папку с перемещенными файлами и удаляющий ее оригинал.
 
d. Ожидающий нажатия любой клавиши для своего завершения.
 
За ранее всем спасибо!

Всего записей: 5 | Зарегистр. 14-10-2019 | Отправлено: 22:12 14-10-2019
Jonmey

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

Цитата:
Дали задание

Сыну, что ли?

Цитата:
a. ...
...
...
d...  

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

Всего записей: 1377 | Зарегистр. 17-01-2011 | Отправлено: 04:44 15-10-2019
Igorekk1981

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

Цитата:
Igorekk1981
 
Цитата:
Дали задание
 
Сыну, что ли?

 
Супруга пошла на курсы тестировщика) вот ей и дали. Теперь сидим и думаем.
Нихрена не понимаем что писать

Всего записей: 5 | Зарегистр. 14-10-2019 | Отправлено: 21:50 15-10-2019
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время, Igorekk1981
То, что начинается с двойного двоеточия - комментарий. Исполняться не будет.

Код:
 
::Если нет параметров - выход  
if "%~1"=="" exit
::Переход в папку с батником
cd /d "%~dp0"
::Создать переменную для папки с названием Screenshots_%date%, заменив в дате пробелы на нули
set "folder=Screenshots_%date: =0%"
::Если такой папки нет - создаем ее
if not exist "%folder%" mkdir "%folder%"
::В цикле проходимcя по файлам, заканчивающимся на первый переданный параметр. Переносим в папку, в случае успеха - записываем имя в screenshots.found
for %%i in ("*%~1") do (move "%%~i" "%folder%" && echo "%%~i" >> screenshots.found)
::Архивация. Например, 7z. Смотрите по заданию.
7z a "%folder%.zip" "%folder%\*"
::Удаляем папку со всем содержимым.
rd /q /s "%folder%"
::Ждем нажатия на клавишу.
pause
 

Всего записей: 1906 | Зарегистр. 07-08-2002 | Отправлено: 22:10 15-10-2019
iglezz

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

Цитата:
Супруга пошла на курсы тестировщика) вот ей и дали. Теперь сидим и думаем.

Коль всё так печально обстоит, вот вам совет - изучите справочный материал в шапке.  
Ибо если сейчас "Нихрена не понимаем что писать", то потом будет вобще лютый ****ц.

Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 22:16 15-10-2019
   

Страницы: 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 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru