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

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

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

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

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

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

Цитата:
MonitorOff.zip

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

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

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

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



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

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

Advanced 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

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



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

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

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

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

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

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

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

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


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

Всего записей: 2759 | Зарегистр. 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)
А то ошибку выдает. Она рабоатет только, если вручную вставлю в командную строку и запущу.
Через батник ее не получается запустить.

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

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

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

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

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

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

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

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

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

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


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

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

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

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



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

Код:
@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 отрабатывает вроде как, а вот если в скрипте что выше прописать, не работает(
Помогите пожалуйста реализовать) И если есть вариант уменьшить код уже рабочий, буду признателен, хотя вряд-ли в одну строчку можно сделать.

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

Advanced 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

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



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

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

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

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

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

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

Advanced 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

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru