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

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

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

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

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
tasklist | find /I "Chrome.exe" && echo хром запущен
или
tasklist /FO list | FINDSTR /I /X /C:"Имя образа:     Chrome.exe" && echo хром запущен

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 20:55 07-02-2022 | Исправлено: Fenrizz, 09:51 08-02-2022
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
командой call родительский каталог можно передать только сменив родительский каталог?

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 06:08 08-02-2022
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz
Хм. Так даже лучше, чем я нагуглил. Спасибо.

Всего записей: 16698 | Зарегистр. 04-11-2010 | Отправлено: 09:38 08-02-2022
Charisma



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посоветуйте батник для удаления подпапок из директории C:\Users\Я\AppData\Local\Microsoft\Windows\INetCache\IE\
Примечание: не программист

Всего записей: 1061 | Зарегистр. 31-07-2004 | Отправлено: 12:16 09-02-2022
BorlandIMHO

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

Цитата:
батник для удаления подпапок из директории C:\Users\Я\AppData\Local\Microsoft\Windows\INetCache\IE\  

В таком виде:
Код:
for /D %%F in (%LOCALAPPDATA%\Microsoft\Windows\INetCache\IE\*) do rd /s /q "%%~F"
удаляет все папки, не имеющие атрибута "скрытый".
 
В таком виде:
Код:
pushd "%LOCALAPPDATA%\Microsoft\Windows\INetCache\IE" && 1>nul 2>&1 rd /s /q . & popd
удаляет всё содержимое папки "C:\Users\Я\AppData\Local\Microsoft\Windows\INetCache\IE\", включая файлы.
 
В таком виде:
Код:
for /F %%F in ('dir /B /A:D "%LOCALAPPDATA%\Microsoft\Windows\INetCache\IE\*"') do rd /s /q "%%~F"
удаляет папки не обращая внимания на "скрытость" и не трогает файлы.
 
Если при какие-либо этом файлы/папки "заняты" (открыты в какой-либо программе) - то их удалить не удастся.
 


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

Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 12:54 09-02-2022 | Исправлено: BorlandIMHO, 12:56 09-02-2022
Fenrizz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Charisma
forfiles /P "C:\Users\Я\AppData\Local\Microsoft\Windows\INetCache\IE" /C "cmd /c if @isdir==TRUE rd /S /Q @path"
 

Цитата:
options:
   /S  : Delete all files and subfolders in addition to the folder itself. Use this to remove an entire folder tree.
   /Q  : Quiet - do not display Y/N confirmation

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 12:57 09-02-2022 | Исправлено: Fenrizz, 13:06 09-02-2022
Charisma



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

Всего записей: 1061 | Зарегистр. 31-07-2004 | Отправлено: 13:15 09-02-2022
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
батниками редко. вопрос по кодировке.  
ассемблерjv под виндовс интересовался, делал простые программки, по факту дающие связь между командной строкой и встроенными подпрограммами виндовс - удобняшки, никто не может объяснить почему у программы clip проблема с кодировкой. понадобилась для 1251 65001 и оказалось не работает. врубиться не могу в чем косяк. костыли конвертаторы ничего не дают, подающие поток в иной кодировке на вход. ну делал все по библии микрософтовской вроде
clip.zip

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 15:10 09-02-2022 | Исправлено: bomzz, 15:14 09-02-2022
BorlandIMHO

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzz
Простыми человеческими словами: что нужно получить и что не получается.
Сильно подозреваю, что у вас проблема "не работают как хочется мои программы", но с этим точно не сюда...

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

Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 15:37 09-02-2022
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
да эта фигня в шапке лет 10 лежит. я только сейчас заметил что пашет криво.
это точно сюда потому что "мои программы" принимают входящий поток из батника и передают потоки в батники
и внутри они ничего такого не делают чего бы туда микрософт не положил.
это просто "дыра" к одной апи функции виндовс.
вернее не понимает русские буквы что ли. что то не срастается у буфера обмена и потока консоли
 
   
когда делал английский текст был нужен, это 1251 файл через поток сохраняется в блок памяти которые назначается буфером обмена. через type

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 17:47 09-02-2022 | Исправлено: bomzz, 19:50 09-02-2022
BorlandIMHO

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzz
Чего лежит - непонятно...
Что за дыра и где - непонятно...
Кто "не понимает русские буквы что ли" - непонятно...
 
Буферу обмена кодировка "голого" текста как таковая - пофиг. Тупо последовательность байт, что пихнёшь - то и будет.
При вставке из {текстового} буфера - вставляется та самая байтовая последовательность, которая туда скопирована. Как она интерпретируется программой-приёмником - отдельный вопрос. Например, "Блокнот" отобразит текст ISO8859-5 кракозябрами просто потому, что этой кодировки не понимает и не поддерживает.
{да и вообще у "Блокнота" с различными кодировками дружбы нет}.
 
Что и как делают с буфером самопальные поделия из вашего архива - не знаю (и не горю желанием узнать, вообще-то ). Но если в процесе работы с буфером они портят кодировку - значит делают что-то не то, и все вопросы - к автору поделий.
 
P.S. Русский текст в 7 разных кодировках одновременно прекрасно копируется через буфер обмена, если что. И даже "Блокнот" его не портит, хотя и не в состоянии правильно отобразить...

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

Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 22:03 09-02-2022 | Исправлено: BorlandIMHO, 20:28 11-02-2022
bomzz

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

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 09:31 10-02-2022
BorlandIMHO

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

Цитата:
нашел ответ

Что и требовалось доказать: ошибка в поделии, не имеющая никакого отношения к топику. Или, по-простому - ОФФТОП.

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

Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 10:43 10-02-2022
Roman_Hayretdinov



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть несколько десятков папок с произвольными именами. Задача: найти среди них только те папки, в которых есть подпапки по имени Update и при этом нет других подпапок. Пробовал сам, но получается как-то коряво, длинно и некрасиво... Надеюсь, здесь помогут

Всего записей: 67 | Зарегистр. 19-12-2021 | Отправлено: 21:04 10-02-2022
Fenrizz



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

Код:
forfiles /P "C:\Work\Folder" /C "cmd /c if @isdir==TRUE dir /B /A:D /O:N @path |>nul FINDSTR /V /I /X "^""Update"^"" || dir /B /A:D /O:N @path |>nul FINDSTR /I /X "^""Update"^"" && echo @path"  

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 21:45 10-02-2022 | Исправлено: Fenrizz, 05:22 11-02-2022
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ни фига не в этом дело было, что по ссылке.
надо сменить раскладку клавиатуры потока\окна\консоли.

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 16:23 11-02-2022
BorlandIMHO

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

Цитата:
надо сменить раскладку клавиатуры потока\окна\консоли.

Чего?..
То же самое по-русски, пожалуйста...

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

Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 19:34 11-02-2022
bomzz

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

Код:
invoke LoadKeyboardLayout,419, KLF_ACTIVATE
+----------------------------+----------------------------+
 |     SubLanguage ID       |   Primary Language ID  |
+----------------------------+----------------------------+
15                               10  9                                 0   bit
 

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 08:16 12-02-2022 | Исправлено: bomzz, 08:24 12-02-2022
BorlandIMHO

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

Цитата:
буфер обмена это как бы скрытое окно блокнота,

"А внутри у ней неонка"
Ещё раз перечитайте.
Раскладка клавиатуры имеет значение исключительно при вводе с клавиатуры. Определяется драйвером клавиатуры.  
С буфером обмена р.к. не связана никак. С окном приложения - связана условно (драйвер "помнит", какая из используемых раскладок включена для окна и соответственно интерпретирует отправляемые окну скан-коды нажатых клавиш).
Далее приложение {консоль} интерпретирует нажатую клавишу как символ вводимого текста либо как команду. В зависимости от настроек приложения (в частности, для консоли - текущая кодовая страница) один и тот же символ {вводимый с клавиатуры или выводимый в консоль приложением} может иметь различный код символа {т.е. введённый текст имеет разную кодировку}. Отображается этот символ (по факту - число) символом юникодного шрифта {умолчание для NT6.x; в более древних системах умолчальный шрифт не-юникодный}. Соответствие <кода символа> <коду символа шрифта> определяется кодовой страницей. См. "демо-скрипт с 7 кодировками": при соответствии <кодировки текста> текущей <кодовой странице отображения консоли> текст отображается правильно, иначе "кракозябрами". При этом сам текст никак не меняется.
 
Так, вкратце, работает с текстом виндовая консоль. И {более-менее} так же работают штатные консольные приложения.
 
Никакого отношения к работе самолепных поделий это не имеет. Там всё определяет лепила (аффтар поделия): и интерпретацию нажатия клавиши в символ, и учёт/неучёт кодовой страницы консоли/текста при вводе/выводе.
Программирование консольных приложений - отдельная большая тема; в рамках данного топика - ОФФТОП.
 
Теперь, надеюсь, понятно?..

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

Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 13:46 12-02-2022 | Исправлено: BorlandIMHO, 15:18 12-02-2022
bomzz

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

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 15:22 12-02-2022
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум 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