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

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

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

Maz



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

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

Всего записей: 39196 | Зарегистр. 26-02-2002 | Отправлено: 22:41 20-06-2024 | Исправлено: Maz, 21:52 28-09-2024
hooddy

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

Цитата:
Зачем из-под каждого пользователя пробовать менять HKLM

затем, что занеся в HKCU потом любой новый пользователь заходя и генерируя новый профиль получит то, что я хочу, чтобы он получил. а не то, что в винде изначально. я не нашел как это сделать без изменения HKCU через правку дефолтного ntuser.dat.  
 
давайте я перефразирую, что мне надо. мне надо получить эти твики на выходе в готовом исошнике, но не ковыряя под каждый новый билд install.wim, а просто подкидывая в него хоть setupcomplete, хоть аннатенд файл. это ведь логично и удобно. да некоторые твики не работают в текущем билде 11, некоторые в 10ке, но даже если они там будут в реестре, ничего от этого не меняется в худшую сторону, они просто буду проигнорированы.
 
мне нужно получить после установки сразу после этапа "подождите мы готовим для вас комп" старое контекстное меню, мой компьютер на рабочем столе, старый проводник на десятке, отключить группировку в панели задач, сместить пуск влево на 11, вернуть автоввод паролей и отключить отображение имен пользователй на экране входа. собственно это все тз.  
 
ну и собственно, если все загонять в аннатенд, то это не самый универсальный способ (хотя можно уже и его сделать два разных под 10 и 11), потому что они для 10 и для 11 разные, а setupcomplete можно и туда и туда класть один и тот же. более того, можно его и в 7 и в 8 класть при желании и рабочие в них ключи тоже будут уместны.

Всего записей: 2219 | Зарегистр. 08-12-2006 | Отправлено: 14:46 24-01-2025 | Исправлено: hooddy, 14:51 24-01-2025
GCRaistlin



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

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

HKLM = HKEY_LOCAL_MACHINE


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

Всего записей: 4198 | Зарегистр. 18-04-2005 | Отправлено: 14:52 24-01-2025
hooddy

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
это не работает если править HKLM. надо заносить ключи в HKCU. в намекаемом вами решение это работает только для текущего пользователя (несмотря на значение слова current).
 
https://www.elevenforum.com/t/full-context-menu-tweak-not-working-for-all-users-hku-default-works-fine-for-hkcu.9487/
https://www.ntlite.com/community/index.php?threads/where-is-the-exact-location-of-the-registry-inside-install-wim.3683/
 
вот отсюда я танцую.

Всего записей: 2219 | Зарегистр. 08-12-2006 | Отправлено: 14:58 24-01-2025 | Исправлено: hooddy, 15:02 24-01-2025
westlife



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
тут можно запутаться, этот вопрос больше бы подошёл в теме сборок, где добавлют такие настройки в образа или аннатенд, и уже выработали лучше варианты для этого для каждого случая, тут суть:
reg LOAD HKLM\DEFAULT c:\users\default\ntuser.dat
reg ADD HKLM\DEFAULT\...
то есть изменение ntuser.dat идёт внутри HKLM, можно подгрузить также и в HKU. но параметр runonce меняется для будущего HKCU, который будет выполняться при первом входе в новый акк.
Другой вопрос нужно ли именно так делать, вероятно тут можно просто изменить нужный параметр в ntuser.dat без runonce, но runonce нужен когда нужный параметр "сбивается" при первом входе виндой, по типу языковых настроек.

Всего записей: 1624 | Зарегистр. 12-12-2006 | Отправлено: 15:02 24-01-2025
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hooddy
Я намекаю только на то, что к пользователю эта настройка отношения не имеет. И конечно, с ACL по умолчанию обычному пользователю ОС править ее не даст. Хоть напрямую пытайся, хоть через этот ваш хитрый план.

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

Всего записей: 4198 | Зарегистр. 18-04-2005 | Отправлено: 15:03 24-01-2025
hooddy

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

Цитата:
вероятно тут можно просто изменить нужный параметр в ntuser.dat без runonce

ну я не нашел другого решения, а в этом запутался. пните в другую сторону. да проблема в том, что нужно ntuser.dat править в устанавливаем образе.
 
Добавлено:

Цитата:
хоть через этот ваш хитрый план.
 

но это работает. в двух последних твиках косякнул.

Всего записей: 2219 | Зарегистр. 08-12-2006 | Отправлено: 15:04 24-01-2025
GCRaistlin



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

Цитата:
тут суть:
reg LOAD HKLM\DEFAULT c:\users\default\ntuser.dat

Нет, не тут. Потому что товарищ пытается изменять параметр вовсе не в HKLM\DEFAULT.
 
Добавлено:
hooddy

Цитата:
но это работает.

Нет, это не работает. А там, где работает, можно было нажать педаль газа ногой, а не рукой.

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

Всего записей: 4198 | Зарегистр. 18-04-2005 | Отправлено: 15:05 24-01-2025
hooddy

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

Всего записей: 2219 | Зарегистр. 08-12-2006 | Отправлено: 15:08 24-01-2025 | Исправлено: hooddy, 15:20 24-01-2025
GCRaistlin



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

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

Всего записей: 4198 | Зарегистр. 18-04-2005 | Отправлено: 15:52 24-01-2025
hooddy

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

Всего записей: 2219 | Зарегистр. 08-12-2006 | Отправлено: 16:14 24-01-2025 | Исправлено: hooddy, 16:15 24-01-2025
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hooddy
Да сразу видно, когда код пишет человек и когда - бот. Каким бы дилетантом человек ни был. Потому что такой бред написать самостоятельно нельзя.
 

Цитата:
почему я всем голову морочу?

Потому что ваша задача нерешаема. И если бы вы сами писали этот код, вы бы это обнаружили еще в процессе. А так - вывалили на обозрение простынку и - "прошу пробежаться".

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

Всего записей: 4198 | Зарегистр. 18-04-2005 | Отправлено: 16:25 24-01-2025 | Исправлено: GCRaistlin, 16:26 24-01-2025
hooddy

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

Всего записей: 2219 | Зарегистр. 08-12-2006 | Отправлено: 16:28 24-01-2025 | Исправлено: hooddy, 16:30 24-01-2025
GCRaistlin



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

Цитата:
прекратите мне хамить

Вам никто не хамил. Посмотрите в словаре значение слова "хамить". Ну, или спросите у бота.
 

Цитата:
задача решаема, просто вы сами не шарите в ней

Ну, как решите, так приходите. Публично извинюсь перед вами обоими и посыплю голову пеплом.

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

Всего записей: 4198 | Зарегистр. 18-04-2005 | Отправлено: 16:33 24-01-2025
hooddy

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

Всего записей: 2219 | Зарегистр. 08-12-2006 | Отправлено: 16:50 24-01-2025
SelenaNight



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
понадобилось использовать кавычки (") в качестве разделителя DELIMS, и то ли я туплю страшно, то ли в этом месте этот единственный символ использовать не получится
 
код (тестовый пример) прикладываю целиком, чтобы не морочиться с контекстом и долгими объяснениями
 
test.bat (Windows-1251)

Код:
 
@echo off
 
setlocal enabledelayedexpansion
 
chcp 1251
 
set "string=2025-01-01 17:15:32.121 Connection Setting "Name555_11": Now connected. Session name: "ID-XXX-15785AFD20""
 
for /f "TOKENS=2 DELIMS="" %%i in ("%string%") do (
rem здесь очень хотелось получить Name555_11    
echo %%i
)
 
ENDLOCAL
pause
 

 
делать код рабочим, путем переписывания логики не требуется (уже сделано путем замены кавычек в string)
 
просто гложет вопрос, есть ли способ экранировать там кавычки или нет
буду страшно признательна за помощь, хоть усну спокойно, без кошмаров

Всего записей: 348 | Зарегистр. 27-02-2006 | Отправлено: 19:08 24-01-2025
GCRaistlin



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

Код:
 
set String=1"2
setlocal enabledelayedexpansion
for /f delims^=^" %%A in ("!String!") do (
  endlocal
  echo %%A
)
 


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

Всего записей: 4198 | Зарегистр. 18-04-2005 | Отправлено: 19:17 24-01-2025
SelenaNight



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
потрясающе!  
работает, только тогда не пойму, как TOKENS=2 добавить, а то выбирается ДО первых кавычек, а не ПОСЛЕ, где искомая подстрока с именем Name555_11

Всего записей: 348 | Зарегистр. 27-02-2006 | Отправлено: 19:49 24-01-2025
westlife



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

Цитата:
TOKENS=2 добавить


Цитата:
tokens^=2^ delims....

Всего записей: 1624 | Зарегистр. 12-12-2006 | Отправлено: 19:53 24-01-2025
SelenaNight



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
westlife
GCRaistlin
огромное спасибо!
 
то есть эти ключи можно писать без кавычек, но тогда все спецсимволы и пробелы нужно экранировать крышкой (^)? я правильно поняла?

Всего записей: 348 | Зарегистр. 27-02-2006 | Отправлено: 19:59 24-01-2025
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SelenaNight
Не только пробелы, но и вообще любые разделители: ;,=
Это, кстати, еще и единственный способ полностью отменить пропуск комментариев:

Код:
 
for /f eol^= %%A in (";") do...
 


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

Всего записей: 4198 | Зарегистр. 18-04-2005 | Отправлено: 21:31 24-01-2025
Открыть новую тему     Написать ответ в эту тему

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

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

Рейтинг.ru