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

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

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

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

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



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

Цитата:
explorer "search-ms:query=дата:<01.01.23&crumb=location:%temp%"  

 
На Win10 работает, а вот на Win7 не понимает location:

Всего записей: 1147 | Зарегистр. 23-01-2006 | Отправлено: 10:03 31-01-2023 | Исправлено: DeZz, 15:35 31-01-2023
DeZz



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

 
набросал скриптец очистки %temp%-а
мож кому пригодится...

Всего записей: 1147 | Зарегистр. 23-01-2006 | Отправлено: 11:30 03-02-2023
alex52mail

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В  >for /?
FOR /F ["ключи"] %переменная IN (набор-файлов) DO команда [параметры]
FOR /F ["ключи"] %переменная IN ("строка") DO команда [параметры]
FOR /F ["ключи"] %переменная IN ('команда') DO команда [параметры]

 
Следовательно:  можно фильтровать и список не из файла.
Но у меня не получается исключить строки с eol=_
Цитата:
for /f "eol=_" %z in ( "
ygyugygf
____dwff
:fdbfbfb
w11_Service_disable.txt
" ) do echo %z
 
goto :eof
Что тут не так и как сделать. Можно ли строки не одной строкой.
 
Удачи.
 
Добавлено:
DeZz
Для всех temp и файла подкачки - лучше их вынести в RamDisk - где они удаляются при выключении и сохдаются новые\пустые при загрузки системы.

----------
Везде трудно первые 15 лет, потом легче.
Все проблемы имеют ПРОСТОЕ решение
Ты начальник я дурак я начальник ты дурак. Но хуже дурака дурак с инициативой.

Всего записей: 1567 | Зарегистр. 04-09-2015 | Отправлено: 16:54 03-02-2023 | Исправлено: alex52mail, 17:04 03-02-2023
GCRaistlin



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

Цитата:
Можно ли строки не одной строкой.


Код:
 
set _nlde=^
 
 
rem Don't delete 2 blank lines above
setlocal enabledelayedexpansion || exit /b
set A=a!_nlde!b
for /f "delims=" %%A in ("!A!") do (
  echo %%A
)
 

 
Добавлено:

Цитата:
Для всех temp и файла подкачки - лучше их вынести в RamDisk

Это очень спорное утверждение.

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

Всего записей: 3962 | Зарегистр. 18-04-2005 | Отправлено: 17:01 03-02-2023
alex52mail

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
Не понял - а где разместить мои десятки-сотни строк (с файла тут не удобно, а надо строки именно со скрипта)
И надо исключать строки с  eol=
 
И можно ли вызвать строки с функции в скрипте типа:
Цитата:
for /f "usebackq  eol=_" %z in ( `call :_RDLT` ) do echo %z
goto :eof
 
:_RDLT
rbrttyty
__fdbntr
:fbrtnjtrj
greh
rebrert
мне выдает
>for /F "usebackq eol=_" %z in (`call :_RDLT`) do echo %z
Недопустимая попытка перехода на метку пакетного файла извне этого файла.

 
GCRaistlin - Это очень спорное утверждение.
И в чем его спорность - если только так - как меня забанили за такое предложение в теме Windows
  1).  Так не накапливается мусор - а все очищается при перезагрузки.
  2).  Это наиболее часто используемые - и с пвмяти быстрее выполнение.
  3).  Если админов не устраивает применение  PrimoRamDisk - то можно рещить и штатными средствами винды - наложив на рахдел UWF - и создавать в памяти\UWF -  \Temp и pagefile при загрузке.
  4). И при 1,5 гб памяти - нормально работала 7ка с такой схемой.
 
Удачи.

----------
Везде трудно первые 15 лет, потом легче.
Все проблемы имеют ПРОСТОЕ решение
Ты начальник я дурак я начальник ты дурак. Но хуже дурака дурак с инициативой.

Всего записей: 1567 | Зарегистр. 04-09-2015 | Отправлено: 18:16 03-02-2023 | Исправлено: alex52mail, 18:32 03-02-2023
GCRaistlin



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

Цитата:
а где разместить мои десятки-сотни строк

В переменной. В примере две строки - одна содержит "a", другая - "b". С остальным, полагаю, справитесь.
 

Цитата:
можно ли вызвать строки с функции в скрипте типа

Нельзя. Команда - сет FOR запускается в отдельной копии cmd.exe и знать не знает про ваш батник.
 

Цитата:
И в чем его спорность

1) Иногда в мусоре можно найти много чего полезного.
2) Файл подкачки призван компенсировать недостаток памяти. А вы уменьшаете своим RAM-диском ее количество.
4) Кому и кобыла невеста.

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

Всего записей: 3962 | Зарегистр. 18-04-2005 | Отправлено: 18:50 03-02-2023
bomzz

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

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 05:37 08-02-2023
Jonmey

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

Цитата:
нету какого нибудь универсального способа вырезания имени файла из http ссылки, типа как имя файла из пути?

For example
123.bat

Код:
SET "FILENAME=%~nx1"
ECHO %FILENAME%

Usage:
123.bat http://www.something.dom/anything/something_more/somefile.zip -> somefile.zip
.

Всего записей: 1316 | Зарегистр. 17-01-2011 | Отправлено: 12:15 08-02-2023
bomzz

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

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 12:39 08-02-2023 | Исправлено: bomzz, 12:45 08-02-2023
Death_INN

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

Всего записей: 3025 | Зарегистр. 24-10-2002 | Отправлено: 11:11 09-02-2023
Pasha_ZZZ



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

Цитата:
tasklist /nh /fi "IMAGENAME eq CalculatorApp.exe"|findstr /b /i /c:"CalculatorApp.exe">nul || calc

Это для Вин 10. Для Вин 7 поменять в 2 местах CalculatorApp.exe на calc.exe

Всего записей: 12375 | Зарегистр. 11-03-2002 | Отправлено: 11:26 09-02-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
Не только. Ещё бывает win32calc.exe  
 
 

Всего записей: 15770 | Зарегистр. 04-11-2010 | Отправлено: 15:50 09-02-2023
Armenoid



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята нужна команда для батника чтоб ставил в региональных настройках формат даты на Английский (США)  
Панель управления >>>Язык и региональные стандарты >>> Форматы >>> Формат - Английский (США)

Всего записей: 142 | Зарегистр. 19-01-2022 | Отправлено: 16:34 09-02-2023
Inoz2000



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

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 16:44 09-02-2023
Pasha_ZZZ



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

Цитата:
Не только. Ещё бывает win32calc.exe

Кто догадался поставить себе лгбт - тот и до того, что в строчке поменять, догадается.

Всего записей: 12375 | Зарегистр. 11-03-2002 | Отправлено: 02:40 10-02-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
Ну так каг бэ путь десяточного калькулятора вроде как отсюда можно выдрать:
 

Код:
REGEDIT4
 
[HKEY_CLASSES_ROOT\ms-calculator]
@="URL:ms-calculator"
"URL Protocol"=""
 
[HKEY_CLASSES_ROOT\ms-calculator\DefaultIcon]
@="C:\\Windows\\System32\\win32calc.exe,0"
 
[HKEY_CLASSES_ROOT\ms-calculator\shell\open\command]
@="C:\\Windows\\System32\\win32calc.exe"

Всего записей: 15770 | Зарегистр. 04-11-2010 | Отправлено: 03:11 10-02-2023
Pasha_ZZZ



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

Всего записей: 12375 | Зарегистр. 11-03-2002 | Отправлено: 03:14 10-02-2023
insorg



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

Код:
@for /f "tokens=1-9" %%a in ('reg query "HKEY_CLASSES_ROOT\ms-calculator\shell\open\command" /ve ^|FINDSTR /IR "REG_SZ"') do (@set CalcPath=%%c&@set CalcPath2=%%d)
@if /i "%CalcPath%"=="REG_SZ" (@set CalcPath=%CalcPath2%)
@echo CalcPath: %CalcPath%
 (у чётом пробела во фразе "по умолчанию" в русской локали и без пробела в "default")
 
Добавлено:
Pasha_ZZZ
Что нахрена?
 
Добавлено:
Есть, например, разные варианты упаковок для установки классического калькулятора. Выдрали из LTSC, например, чтобы поставить его в прошку.
 
Добавлено:
Зависимо от этого, имя ехе калькулятора бывает и win32calc.exe, и calc_1.exe, и ещё какое-то попадалось.

Всего записей: 15770 | Зарегистр. 04-11-2010 | Отправлено: 03:34 10-02-2023
tmrx

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

Код:
 
DATE /T
10.02.2023
 

А день недели как-то можно вывести штатно? Только не пщель, нет
А если не штатно, то чем?

Всего записей: 201 | Зарегистр. 27-01-2016 | Отправлено: 06:07 10-02-2023
fscpsd



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tmrx
Цитата:
А день недели как-то можно вывести штатно?

Вот, например:
Код:
for /f "delims== tokens=2" %a in ('wmic path win32_localtime get dayofweek /value ^| find "="') do (echo %a)
Выведет номер, но этот номер можно во что угодно преобразовать, если нужно.

Всего записей: 1731 | Зарегистр. 16-09-2010 | Отправлено: 06:10 10-02-2023 | Исправлено: fscpsd, 06:17 10-02-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

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