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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

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.51 до Windows 10) и command.com (DOS 5.0 и выше). Старые командные процессоры можно запускать на более новых ОС, хотя не всё может работать корректно. Подробная документация по командам cmd.exe и стандартным утилитам ОС для NT 3.51, NT 4.0, NT 5.0 (Windows 2000) и NT 5.2 (Windows Server 2003). Сборник представляет исторический интерес, а также незаменим для тех, у кого появилось желание сделать свои скрипты работоспобными не только на текущей версии ОС. Ссылки wdho.ru tinyupload.com dbree.org
 
· Сборник одним архивом: Сотни Win32 утилит командной строки, нетривиальные .cmd файлы, .bat miniperl скрипты (не требующие полноценной установки Perl), FAR Manager с плагинами и настройками, разное для DOS/DOSBox (откуда под Win32 интерес представляют три продвинутых "мультисистемных" .bat файла да ещё, может быть, оболочка Necromancer DOS Navigator с поддержкой LFN и доступом к буферу обмена Windows). Краткие описания всего - в файликах files.bbs

Всего записей: 37512 | Зарегистр. 26-02-2002 | Отправлено: 13:35 19-09-2020 | Исправлено: Maz, 07:16 24-04-2021
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.
 

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

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

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

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

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

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

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

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

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

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

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

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



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

Всего записей: 430 | Зарегистр. 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}"

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



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

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



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
-

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



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

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

Это как?

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

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



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну мы же батнику параметр передаем: %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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
-

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



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

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

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

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

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



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

Всего записей: 2393 | Зарегистр. 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, определённые для наследования.
 
ЗЫ.
Цитата:
Дак и я говорю о транспортировке кода до точки применения.

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

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

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



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

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

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



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну так я же дал рабочий вариант в 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
 
и в идеале хотелось-бы получить что-то максимально приближенное к этому...
короче,я просто хочу реарганизовать весь запуск служб у себя на компе и соответственно - какие-то службы остановить,какие-то запустить и учитывая,что такой батник приходится писать,как минимум под новую винду,а как максимум переписывать,когда,вдруг понадобится какая-то из служб...хотелось-бы делать это максимально быстро,плюс на разных компах какие-то службы удаляются,какие-то добавляются,сами понимаете...в общем,поднадоело уже целый день писать один батник вручную,хочется хотя-бы за пару часов его оформлять)

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



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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=...прочее содержание? Буду Вам признателен за ценную помощь.

Всего записей: 662 | Зарегистр. 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

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии - bat, cmd


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru