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

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

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

Maz (20-06-2024 22:42): Командная строка, батники, сценарии - bat, cmd (7 часть)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 200 201

   

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

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



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тогда не пишите тут об кириллице, раз речь об юникоде.
chcp 65001

Всего записей: 5220 | Зарегистр. 23-04-2009 | Отправлено: 20:38 29-03-2023
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pressF UTF-8 для батников не айс, впрочем  как и для винды.  Русский текст в батнике для реестра  внеси в кодировке 1251, можешь воспользоваться  обычным  блокнотом  Notepad.


----------
В сортире лучше быть юзером, чем админом...

Всего записей: 11946 | Зарегистр. 10-12-2003 | Отправлено: 20:45 29-03-2023 | Исправлено: ipmanyak, 20:47 29-03-2023
GCRaistlin



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

Цитата:
UTF-8 для батников не айс, впрочем  как и для винды.

Чем это?

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

Всего записей: 4128 | Зарегистр. 18-04-2005 | Отправлено: 20:49 29-03-2023
Darth_Max

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сценарии для PowerShell можно сдесь обсуждать, или для этого есть другая тема?

Всего записей: 1199 | Зарегистр. 02-10-2014 | Отправлено: 21:25 29-03-2023
BorlandIMHO

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

Цитата:
Сценарии для PowerShell можно сдесь обсуждать, или для этого есть другая тема?

В шапке топика, "Смежные темы". Лучше там, наверное...
Но и здесь, в принципе, прокатит...

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

Всего записей: 2612 | Зарегистр. 12-10-2006 | Отправлено: 22:10 29-03-2023 | Исправлено: BorlandIMHO, 22:10 29-03-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Darth_Max
Учитывая, что даже в батниках бывает пошик типа такого
Код:
@powershell.exe -Command "(New-Object Net.WebClient).DownloadFile('https://www.7-zip.org/a/7zr.exe', '7zr.exe')"
, то я не вижу принципиальных различий между разновидностями сценариев...

Всего записей: 17876 | Зарегистр. 04-11-2010 | Отправлено: 22:41 29-03-2023 | Исправлено: insorg, 22:43 29-03-2023
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
На синтаксис PS и cmd.exe посмотрите, и различия увидите. Незачем все валить в одну кучу.

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

Всего записей: 4128 | Зарегистр. 18-04-2005 | Отправлено: 22:48 29-03-2023
Mr_Hat



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

Цитата:
На синтаксис PS и cmd.exe посмотрите

+100500%
пардоньте за офтоп.

Всего записей: 985 | Зарегистр. 04-10-2005 | Отправлено: 00:46 30-03-2023
insorg



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

Всего записей: 17876 | Зарегистр. 04-11-2010 | Отправлено: 01:45 30-03-2023
pressF



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

Цитата:
Русский текст в батнике для реестра  внеси в кодировке 1251

в саблайме стоит fallback_encoding": "Cyrillic (Windows 1251) так что незачем
 

Цитата:
chcp 65001

в саблайме нет такой кодировки как и в блокноте Windows.

Всего записей: 1302 | Зарегистр. 29-03-2023 | Отправлено: 20:38 30-03-2023
El Sanchez



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

Цитата:
Сам файл UTF-8 без бум как и положено

pressF, раз батник в кодировке UTF-8, то после @echo off напишите chcp 65001, либо сохраняйте батник в родную для интерпретатора кодировку OEM866.

Цитата:
в саблайме нет такой кодировки как и в блокноте Windows.

pressF, сказки.

Цитата:
Русский текст в батнике для реестра  внеси в кодировке 1251

ipmanyak, и будут уже другие крякозябры.

Всего записей: 490 | Зарегистр. 23-12-2008 | Отправлено: 21:38 30-03-2023
Smitis



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

Цитата:
то я не вижу принципиальных различий между разновидностями сценариев...

Поэтому и есть тема «Сценарии для Windows».
А эта... Ну не удалять же. Хотя она совершенно лишняя.
 
П.С.
Позанудствую - если сохраняете батник в UTF-8, сохраняйте без BOM!

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

Всего записей: 3439 | Зарегистр. 09-02-2003 | Отправлено: 22:25 30-03-2023 | Исправлено: Smitis, 22:31 30-03-2023
pressF



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

Цитата:
сказки.

внукам на ночь рассказываю
 
https://i.postimg.cc/N2mrnKXt/g5o-Di-WFp-HX.png
 
https://i.postimg.cc/rD0zZ02P/notepad-0-Fv-SQTGSfi.png
 

Цитата:
после @echo off напишите chcp 65001

ура! заработало, спасибо
 
https://i.postimg.cc/MvwDSwp5/p-Rp6w2-AOQC.png

Всего записей: 1302 | Зарегистр. 29-03-2023 | Отправлено: 21:47 31-03-2023
notinthewoods



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеется document.xml, в котором есть такой кусок:

Код:
<script>
        __app_data["store"] = {...};
    </script>

Между фигурными скобками множество параметров со значениями. Как извлечь значения этих двух параметров:
1) "owner_id":826535
Этот параметр единственный.
2) ,"id":799395
Параметр "id" встречается неоднократно, но именно с запятой перед параметром - только один раз.

Всего записей: 514 | Зарегистр. 31-01-2015 | Отправлено: 22:04 31-03-2023
Smitis



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

Цитата:
внукам на ночь рассказываю

Действительно сказки, так как на Ваших скриншотах эта кодировка есть, даже если Вы её не видите.

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

Всего записей: 3439 | Зарегистр. 09-02-2003 | Отправлено: 00:37 01-04-2023
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
notinthewoods
Это похоже JSON, для таких вещей лучше пользоваться спецсредствами, например jq

Всего записей: 12799 | Зарегистр. 11-03-2002 | Отправлено: 06:04 01-04-2023
El Sanchez



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

Цитата:
внукам на ночь рассказываю

pressF, кодовая страница CP65001 соответствует кодировке UTF-8. Сам принцип кодовых страниц устарел и такое соответствие нужно для обратной совместимости со старыми приложениями, использующих кодовые страницы вместо кодировок в своей работе.
Теперь почему крякозябры видите. Т.к. скрипт в UTF-8, то интерпретатор на вход получит последовательность UTF-8 байтов тела скрипта. UTF-8 многобайтовая кодировка, символы кириллицы, например, будут кодироваться 2-мя байтами, а без задания cp65001 интерпретатор будет последовательность байтов в умолчальной кодировке OEM866 обрабатывать, а это однобайтовая кодировка. Это означает, что 2 байта какого-нибудь одного кириллического символа в кодировке UTF-8, будут трактоваться как 2 однобайтовых символа в кодировке OEM866.
Например, слово "Открыть" в кодировке UTF-8 имеет такую последовательность байтов: d0 9e d1 82 d0 ba d1 80 d1 8b d1 82 d1 8c
Теперь каждый байт последовательности в кодировку OEM866 переведите: d0 - <тут символ псевдографики>, 9e - Ю, d1 - <тут символ псевдографики>, 82 - В и т.д.
С основной латиницей ничего не происходит потому, что символы и так однобайтовые и их коды 00-7F одинаковы во всех(изм. не, вру) кодовых станицах.

Всего записей: 490 | Зарегистр. 23-12-2008 | Отправлено: 10:54 01-04-2023 | Исправлено: El Sanchez, 11:06 01-04-2023
belg209

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, как создать копию папки с подпапками, но с пустышками вместо файлов? Возможно такое сделать с помощью батника?

Всего записей: 41 | Зарегистр. 14-05-2017 | Отправлено: 10:49 03-04-2023
BorlandIMHO

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
belg209
"Пустышки" сойдут нулевого размера или должны иметь размер реальных файлов?
 
Добавлено:
Вариант с файлами нулевого размера:

Код:
@echo OFF
set "SRC=x:\path to\source folder"
set "DST=y:\path to\destination folder"
pushd "%DST%" &&popd || exit
pushd "%SRC%" &&popd || exit
 
call :PROCESS "%SRC%" "%DST%"
goto :EOF
 
:PROCESS
md "%~2\%~nx1"
pushd "%~1"
for /F "usebackq delims=" %%B in (`dir /B /A:-D *`) do copy nul "%~2\%~nx1\%%~B"
for /F "usebackq delims=" %%A in (`dir /B /A:D *`) do call :PROCESS "%~1\%%~nxA" "%~2\%~nx1"
popd
goto :EOF
 

 
Добавлено:
Если пустышки должны иметь тот же размер, что и исходные файлы, то вместо {copy nul "%~2\%~nx1\%%~B"} нужно использовать {fsutil file createnew "%~2\%~nx1\%%~B" %%~zB}.
И для запуска файла потребуются права администратора (чтобы работала fsutil).

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

Всего записей: 2612 | Зарегистр. 12-10-2006 | Отправлено: 13:50 03-04-2023 | Исправлено: BorlandIMHO, 14:52 03-04-2023
belg209

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо! Это то, что было нужно. Проверил - батник работает.  

Всего записей: 41 | Зарегистр. 14-05-2017 | Отправлено: 15:52 03-04-2023
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии - bat, cmd
Maz (20-06-2024 22:42): Командная строка, батники, сценарии - bat, cmd (7 часть)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru