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

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

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

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

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

Maz



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

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ 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. Справочник администратора
 
· Выполнение BAT-скриптов без вызова окна консоли
· cmdow - изменение параметров и видимости дос-окна, Статья в КОМПЬЮТЕРРАONLINE
· Набор GNU утилит для win32
· HS_Packet.7z - Пакет утилит для организации интерфейса в bat-файлах
· blat - отправка почты из консоли
· Easy Batch Builder+Rus+Crack - Редактор BAT файлов.Через графический интерфейс программы вы сможете быстро конструировать пакетные файлы практически любой сложности. (В комплекте есть Лоадер созданный с помощью Sign Of Misery некоторые антивирусы обзывают его вирусом. Вам решать: ставить или не ставить) (ЗЕРКАЛО)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек) ещё и ещё
· Переход из 32-битной версии cmd.exe в 64-битную (1) (2)(3)
 
· Архив всевозможных версий cmd.exe (от Windows NT 3.10 до Windows 11 +Win95cmd +ReactOS) и command.com (DOS 5.0 и выше). Старые командные процессоры можно запускать на более новых ОС, хотя не всё может работать корректно. Подробная документация по командам cmd.exe и стандартным утилитам ОС для NT 3.51, NT 5.0 (Windows 2000) и NT 5.2 (Windows Server 2003). Сборник представляет исторический интерес, а также незаменим для тех, у кого появилось желание сделать свои скрипты работоспобными не только на своей версии ОС.
 
· Большой сборник одним архивом: Сотни Win32 утилит командной строки, нетривиальные .cmd файлы, .bat miniperl скрипты (не требующие полноценной установки Perl), FAR Manager с плагинами и настройками, разное для DOS/DOSBox (откуда под Win32 интерес представляют три продвинутых "мультисистемных" .bat файла да ещё, может быть, оболочка Necromancer DOS Navigator с поддержкой LFN и доступом к буферу обмена Windows). Краткие описания всего - в файликах files.bbs

Всего записей: 38906 | Зарегистр. 26-02-2002 | Отправлено: 13:35 19-09-2020 | Исправлено: metatrop, 07:55 29-11-2022
bytie

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
notinthewoods
Кириллица не в UTF-8 — это вопрос подбора кодировки.

Код:
 
    -E, --encoding <ENCODING>
            Specify the text encoding that ripgrep will use on all files searched. The
            default value is 'auto', which will cause ripgrep to do a best effort automatic
            detection of encoding on a per-file basis. Automatic detection in this case
            only applies to files that begin with a UTF-8 or UTF-16 byte-order mark (BOM).
            No other automatic detection is performed. One can also specify 'none' which
            will then completely disable BOM sniffing and always result in searching the
            raw bytes, including a BOM if it's present, regardless of its encoding.
 
            Other supported values can be found in the list of labels here:
            https://encoding.spec.whatwg.org/#concept-encoding-get
 
            For more details on encoding and how ripgrep deals with it, see GUIDE.md.
 
            This flag can be disabled with --no-encoding.
 

Всего записей: 295 | Зарегистр. 18-08-2005 | Отправлено: 09:36 06-11-2020
notinthewoods



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

Цитата:
rg --files-with-matches --word-regexp --ignore-case --encoding cp1251 отключить >Search.txt

Так получил полный список в папке всех текстовых файлов, где встречается слово 'отключить' отдельным словом.

Всего записей: 503 | Зарегистр. 31-01-2015 | Отправлено: 16:41 06-11-2020
BorlandIMHO

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

Цитата:
Так получил полный список в папке всех текстовых файлов, где встречается слово 'отключить' отдельным словом.

Ну, если все UTF-файлы содержат BOM и нет файлов в других кодировках (отличных от UTF/1251) - то можно и так сказать...
Правда, теоретически возможны и случаи, когда в UTF-файле с маркером содержится искомое слово в неправильной (несоответствующей маркеру) кодировке (аналогично для слова в UTF в файле без BOM). Они вышеприведённой командой найдены не будут...
Для 100% уверенности, что найдено именно всё - нужно искать "голую" байт-последовательность, соответствующую каждой возможной кодировке, в каждом файле...

----------
http://www.imho.ws

Всего записей: 2442 | Зарегистр. 12-10-2006 | Отправлено: 20:08 06-11-2020
Death_INN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли какие решения по бинарным файлам, например, вроде бы такое простое: считать первые 3 байта бинарного файла, типа "23 4F 8A" и записать в текстовый файл?

Всего записей: 3149 | Зарегистр. 24-10-2002 | Отправлено: 21:00 07-11-2020
Fenrizz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Death_INN
Если на чистом bat-нике, то нет, если в принципе, то что-нибудь типа Radare2 - https://www.radare.org/n/radare2.html
Или 010 HexEditor - https://www.sweetscape.com/010editor/manual/CommandLine.htm

Всего записей: 687 | Зарегистр. 12-09-2017 | Отправлено: 09:14 08-11-2020 | Исправлено: Fenrizz, 09:16 09-11-2020
YuS 2



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

Цитата:
считать первые 3 байта бинарного файла, типа "23 4F 8A" и записать в текстовый файл?


Код:
powershell -c "&{(gc test.bin -enc byte|select -first 3|foreach{'{0:X2}' -f $_}) -join ' '|out-file bin.txt -enc utf8}"

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 12:54 08-11-2020
kot1313



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

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 23:25 08-11-2020 | Исправлено: kot1313, 19:33 21-01-2021
KiloSub



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
В Total Commander легко, сделав кнопку на панели инструментов. Например:

Код:
Команда: D:\Portable\cmd\TempCmd.cmd
Параметры: %P%N

содержимое TempCmd.cmd:

Код:
@echo off
echo %1
pause
exit

- выведет папку или файл, на котором стоит курсор. В нем можно и горячую клавишу назначить (Конфигурация - настройка - Разное... и аналогично кнопке в секции user.ini). Как в проводнике с хоткеем, не знаю

Всего записей: 420 | Зарегистр. 30-05-2020 | Отправлено: 00:47 09-11-2020 | Исправлено: KiloSub, 02:10 09-11-2020
kot1313



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

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 01:53 09-11-2020 | Исправлено: kot1313, 19:33 21-01-2021
GCRaistlin



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

Цитата:
На этот файл есть хоткей на запуск

Это как?

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

Всего записей: 4042 | Зарегистр. 18-04-2005 | Отправлено: 01:59 09-11-2020
KiloSub



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну мы же батнику параметр передаем: %P - путь, %N - имя. Соответственно %P%N - полный путь с именем. В батнике это будет %1.  

Код:
@echo off
Attrib +R "%1"  

Ваша команда применится к тому, что под курсором. Навел на папку, нажал - изменилось. Навел на другую, нажал - изменилось. Если нужно применять к тому, внутри чего находишься, то использовать просто %P

Всего записей: 420 | Зарегистр. 30-05-2020 | Отправлено: 02:05 09-11-2020 | Исправлено: KiloSub, 02:29 09-11-2020
kot1313



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

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 02:55 09-11-2020 | Исправлено: kot1313, 19:33 21-01-2021
GCRaistlin



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

Цитата:
Всё просто

Не сомневаюсь. Только с точки зрения TLB такого понятия, как "там, где я сейчас нахожусь", нету.

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

Всего записей: 4042 | Зарегистр. 18-04-2005 | Отправлено: 03:01 09-11-2020
kot1313



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

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 03:04 09-11-2020 | Исправлено: kot1313, 19:33 21-01-2021
m00slim25



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

Цитата:
Как подружить

Никак. %CD% содержит значение текущей директории для среды командного процессора, и только для неё.
 
Каким образом, по Вашему, связаны объект окна Проводника (1), и объект среды командного процессора (2), являющегося дочерним для совершенно другого, третьего объекта (TruLaunchBar) ?!
 
Необходимо соблюсти условие, что объект 2 должен быть дочерним для объекта 1. Тогда, и только тогда, объект 2 получит свойства объекта 1, определённые для наследования.
 
ЗЫ.
Цитата:
Дак и я говорю о транспортировке кода до точки применения.

Цитата:
То есть как передать данные

Вы и сами толком не понимаете, чего хотите... То какой то код транспортируете, то данные передаёте... Вы уж определитесь, наконец

Всего записей: 1039 | Зарегистр. 30-05-2006 | Отправлено: 06:10 09-11-2020 | Исправлено: m00slim25, 06:19 09-11-2020
GCRaistlin



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

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

Всего записей: 4042 | Зарегистр. 18-04-2005 | Отправлено: 11:12 09-11-2020
KiloSub



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну так я же дал рабочий вариант в Total Commander:

Код:
Конфигурация - Настройка - Разное - Клавиша - например Alt+F1 - Команда, нажимаем лупу - user.ini - Новая - имя предложит (Ok) - Команда (путь до батника) - Параметры %P - (Ok)(Ok)зеленая галочка.

Батник выше. И все. Находясь в какой-то папке Alt+F1 вызывает батник, в котором %1 будет вызывать путь до нее - это вместо %cd%, если я правильно понял задачу.
 

Всего записей: 420 | Зарегистр. 30-05-2020 | Отправлено: 11:33 09-11-2020 | Исправлено: KiloSub, 11:37 09-11-2020
ALEKCEN



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не помню уж,вроде в этой теме мне,в своё время скидывали файлик GetAllServices.exe,который,без "излишнего пафоса" просто выводил список служб винды в текстовый файлик...я теперь,конечно понимаю,насколько это была примитивная прога,но...тем не менее,она у меня куда-то потерялась (видать анти-вирус счёт её дико опасной...) и хотелось-бы попросить снова её или её улучшенную версию,хотя,в принципе не важно в каком это будет формате - в бате или ехе...
В общем,надо получить список всех служб на компе...а лучше даже получить их в виде имени службы,а не её названия (в данном случае это совсем разные вещи) и в идеале было-бы ещё и получить тип запуска онной...
 
В итоге хочу этот список переделать во что-то,типо этого:
net start AeLookupSvc
sc config AeLookupSvc start= auto
 
и в идеале хотелось-бы получить что-то максимально приближенное к этому...
короче,я просто хочу реарганизовать весь запуск служб у себя на компе и соответственно - какие-то службы остановить,какие-то запустить и учитывая,что такой батник приходится писать,как минимум под новую винду,а как максимум переписывать,когда,вдруг понадобится какая-то из служб...хотелось-бы делать это максимально быстро,плюс на разных компах какие-то службы удаляются,какие-то добавляются,сами понимаете...в общем,поднадоело уже целый день писать один батник вручную,хочется хотя-бы за пару часов его оформлять)

Всего записей: 685 | Зарегистр. 08-04-2008 | Отправлено: 12:29 09-11-2020
KiloSub



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ALEKCEN, что-то такое?
 
Пример обработки, список служб внизу кода: Название и через пробел желаемый тип запуска (если выбрать 2).
Подробнее...
 
Список служб:
Подробнее...

Всего записей: 420 | Зарегистр. 30-05-2020 | Отправлено: 12:54 09-11-2020 | Исправлено: KiloSub, 14:48 09-11-2020
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, пожалуйста, помогите разобраться с задачей. Необходимо найти в текстовом файле две строки начинающиеся со String_1.My.Test.1=...прочее содержание и String_2.My.Test.2=...прочее содержание. Скопировать эти строки целиком во временный файл, полностью очистить содержимое исходного (первичного) файла, а затем дописать в его конец содержимое двух строк из временного файла. Или м.б. будет проще просто полностью очистить содержимое текстового файла, кроме строк String_1.My.Test.1=...прочее содержание и String_2.My.Test.2=...прочее содержание? Буду Вам признателен за ценную помощь.

Всего записей: 712 | Зарегистр. 19-02-2008 | Отправлено: 17:33 09-11-2020 | Исправлено: Artem_Butenko, 17:37 09-11-2020
Открыть новую тему     Написать ответ в эту тему

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru