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

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

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

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

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

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

Цитата:
MonitorOff.zip

- спасибо. Если там сторонняя утилита, то у меня антивирус сразу заблокирует. Я на корпоративном компьютере. Дома выключаю монитор нирсофтовой утилитой. А здесь нельзя. Если там команды - можно их опубликовать?

Всего записей: 361 | Зарегистр. 17-11-2015 | Отправлено: 08:13 19-08-2022
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kspeh
конечно можно, только в упор не могу вспомнить, что возвращает findwindow с нулем
Подробнее...
лучше всего у Си программистов спросить в теме
 
константы правильные WM_SYSCOMMAND,SC_MONITORPOWER
 
 
    invoke FindWindow,0,0
скорее всего это хендл окна самого монитора и есть
максроассемблер удобнее чем с дллками мучаться
Подробнее...
тыц

Всего записей: 3473 | Зарегистр. 29-03-2016 | Отправлено: 08:47 19-08-2022 | Исправлено: bomzz, 19:21 19-08-2022
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В обработке иногда нужно использовать текстовое значение переменной %str_name%, которая может быть или не быть.
При этом в этой переменной значение текстовое идёт в кавычках, а нам нужно без. Соответственно, приходится добавлять промежуточную строку
@set str_name=%str_name:"=%
Однако, в таком случае, если ранее переменной %str_name% не существовало, то она приобретает значение "= и дальнейшая работа с такой переменной рушит дальнейшую работу, т.к. появление кавычек не предполагается.
Как временное, решение строку приходится просто дублировать до вида
@set str_name=%str_name:"=%
@set str_name=%str_name:"=%
чтобы хотя бы падения убрать, потому как даже значение = проблем не вызывает.
 
Вопрос.
Можно ли как-то иначе убрать кавычки, не порождая c нуля новые в случаях изначального отсутствия переменной %str_name%?

Всего записей: 17189 | Зарегистр. 04-11-2010 | Отправлено: 19:56 21-08-2022 | Исправлено: insorg, 19:59 21-08-2022
BorlandIMHO

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

Цитата:
Можно ли как-то иначе убрать кавычки, не порождая c нуля новые в случаях изначального отсутствия переменной %str_name%?


Код:
@set "str_name=%str_name:"=%"
?..  
А вообще - правильнее перед какими-либо действиями проверить "непустоту"переменной

Код:
if DEFINED str_name (@set "str_name=%str_name:"=%" ) else (@echo str_name is UNDEFINED)


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

Всего записей: 2426 | Зарегистр. 12-10-2006 | Отправлено: 20:10 21-08-2022 | Исправлено: BorlandIMHO, 20:17 21-08-2022
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
if DEFINED
И правда. Даже в голову как-то не пришло. Благодарю.

Всего записей: 17189 | Зарегистр. 04-11-2010 | Отправлено: 20:42 21-08-2022 | Исправлено: insorg, 21:09 21-08-2022
Ho_Chen



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Помогите,пожалуйста, решить задачу. Хотелось бы переименовывать ПК каждый раз на рандомное имя не менее 12 символов, но не более 15: буквы заглавные и цифры, при помощи bat-файла, не редактируя сам bat-файл. В сети решение для этой задачи не нашел, разве только это (рандом для 5-ти символов):

Код:
@set @a=0/*
@for /f %%n in ('cscript /e:jscript %0') do @>nul wmic computersystem where "Name='%COMPUTERNAME%'" call Rename '%%~nn'
@exit
*/WSH.echo(WSH.CreateObject('Scripting.FileSystemObject').getTempName().slice(3))

Спасибо за помощь.

Всего записей: 178 | Зарегистр. 20-10-2019 | Отправлено: 22:36 21-08-2022 | Исправлено: Ho_Chen, 22:36 21-08-2022
bomzz

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

Всего записей: 3473 | Зарегистр. 29-03-2016 | Отправлено: 10:59 22-08-2022
Kspeh

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

Всего записей: 361 | Зарегистр. 17-11-2015 | Отправлено: 11:31 22-08-2022
Smitis



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

Цитата:
Хотелось бы переименовывать ПК каждый раз на рандомное имя не менее 12 символов, но не более 15

12 символов - заменить последнюю строку на

Код:
*/ WScript.Echo(Math.random().toString(36).toUpperCase().substring(2,15))


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

Всего записей: 3243 | Зарегистр. 09-02-2003 | Отправлено: 13:18 22-08-2022 | Исправлено: Smitis, 13:19 22-08-2022
Arcadaw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите пжлста, а как запустить в командном файле такую команду:
for /f %I in ('reg query "HKLM\SYSTEM\CurrentControlSet\Services" /k /f "DevicePickerUserSvc" ^| find /i "DevicePickerUserSvc"') do (reg add "%I" /v "Start" /t reg_dword /d 4 /f)
А то ошибку выдает. Она рабоатет только, если вручную вставлю в командную строку и запущу.
Через батник ее не получается запустить.

Всего записей: 1512 | Зарегистр. 25-03-2004 | Отправлено: 17:45 26-08-2022
BorlandIMHO

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

Цитата:
а как запустить в командном файле такую команду:

Для батника % заменить на %%.

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

Всего записей: 2426 | Зарегистр. 12-10-2006 | Отправлено: 19:07 26-08-2022
Arcadaw

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

Всего записей: 1512 | Зарегистр. 25-03-2004 | Отправлено: 19:47 26-08-2022
Okapulka

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

Всего записей: 171 | Зарегистр. 14-05-2016 | Отправлено: 02:05 27-08-2022 | Исправлено: Okapulka, 14:29 27-08-2022
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Okapulka Здесь  батники! Тебе сюда  
Сценарии для Windows  
http://forum.ru-board.com/topic.cgi?forum=62&bm=1&topic=30859&start=4100#lt


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

Всего записей: 11765 | Зарегистр. 10-12-2003 | Отправлено: 07:38 27-08-2022
Okapulka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ipmanyak 07:38 27-08-2022
Цитата:
Здесь  батники!
Прошу прощения, слово "сценарии" ввело в заблуждение.
 
Спасибо за наводку.

Всего записей: 171 | Зарегистр. 14-05-2016 | Отправлено: 14:20 27-08-2022
invis1ble977



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет! Кто разбирается в скриптах подскажите как реализовать и что мешает(
Ниже пример рабочего скрипта (удаление кортаны к примеру), запуск от администратора только работает ..

Код:
@echo off
 
cd %systemroot%\system32
call :IsAdmin
 
SetLocal EnableExtensions
 
For /F "UseBackQ delims=" %%a in (`
  %SystemRoot%\System32\WindowsPowerShell\v1.0\PowerShell.exe -ExecutionPolicy ByPass -command "Get-AppxPackage -AllUsers *Microsoft.549981C3F5F10* | Remove-AppxPackage -AllUsers"
`) do (
  echo %%a
)
exit
 
:IsAdmin
Reg.exe query "HKU\S-1-5-19\Environment"
If Not %ERRORLEVEL% EQU 0 (
 Cls & Echo У вас должны быть права администратора, чтобы продолжить ...  
 Pause & Exit
)
Cls
goto:eof

А вот команда для удаление из образа системы (уже установленной)

Код:
Get-AppxProvisionedPackage -online | where-object {$_.PackageName -like "*Microsoft.549981C3F5F10*"} | Remove-AppxProvisionedPackage -online –Verbose

в powershell отрабатывает вроде как, а вот если в скрипте что выше прописать, не работает(
Помогите пожалуйста реализовать) И если есть вариант уменьшить код уже рабочий, буду признателен, хотя вряд-ли в одну строчку можно сделать.

Всего записей: 80 | Зарегистр. 14-06-2021 | Отправлено: 09:33 02-09-2022 | Исправлено: invis1ble977, 09:48 02-09-2022
BorlandIMHO

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

Цитата:
вот команда для удаление из образа системы (уже установленной)

А вот так её можно вставить в .cmd:

Код:
powershell -command "Get-AppxProvisionedPackage -online | where-object {$_.PackageName -like '*Microsoft.549981C3F5F10*'} | Remove-AppxProvisionedPackage -online –Verbose"


Цитата:
 запуск от администратора только работает

It's by design...

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

Всего записей: 2426 | Зарегистр. 12-10-2006 | Отправлено: 11:00 02-09-2022
invis1ble977



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

Цитата:
А вот так её можно вставить в .cmd:

прям вообще от всей души тебе друг!

Всего записей: 80 | Зарегистр. 14-06-2021 | Отправлено: 11:44 02-09-2022
Arcadaw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите пжлста, а как через CMD отключить "Virtualbox ndis6 bridged networking driver" в настройках адаптера:
Вызываю командой:
control.exe /name Microsoft.NetworkandSharingCenter
Там можно отключить TCP6, QoS и т.д.

Всего записей: 1512 | Зарегистр. 25-03-2004 | Отправлено: 22:38 02-09-2022 | Исправлено: Arcadaw, 15:17 03-09-2022
BorlandIMHO

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

Цитата:
как через CMD отключить "Virtualbox ndis6 bridged networking driver" в настройках адаптера

{требуется наличие в системе powershell 3.0 или новее, запуск с правами администратора}

Код:
powershell -command "Disable-NetAdapterBinding -Name 'Ethernet' -DisplayName 'VirtualBox NDIS6 Bridged Networking Driver'"

или (равнозначно)

Код:
powershell -command "Set-NetAdapterBinding -Name 'Ethernet' -DisplayName 'VirtualBox NDIS6 Bridged Networking Driver' -Enabled $False"



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

Всего записей: 2426 | Зарегистр. 12-10-2006 | Отправлено: 22:39 04-09-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 193 194 195

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