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

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

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

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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
привет
я тут батник делал для очистки кэша иконок под win7-10 в случае тормозов в проводнике

Код:
 
taskkill /f /im explorer.exe
cd /d "%userprofile%\AppData\Local\Microsoft\Windows\Explorer"
attrib -H Iconcache_*.db
del /f IconCache*
del /f thumbcache*
cd /d "%userprofile%\AppData\Local"
attrib -H IconCache.db
del /f IconCache.db
cd /d "%userprofile%\AppData\Local"
del /f /a:s IconCache.db
start explorer.exe
 

не накосячил ли я где в синтаксисе, тк бывает выдает, то нет доступа, то файл не найден, а бывает и нормально все зачищает.

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3788 | Зарегистр. 15-10-2007 | Отправлено: 07:59 31-10-2023
Fenrizz



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

Цитата:
Как можно список IP из файла преобразоваться в соответсвующие URL?


Код:
for /f "usebackq tokens=1,2,3" %%A in ("IP.txt") do (
for /f "tokens=1,2,3,4,5" %%I in ('ping -a %%A ^| FIND /I "Обмен пакетами"') do echo %%L %%M)
 

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 09:36 31-10-2023
notinthewoods



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

Цитата:
Как можно список IP из файла преобразоваться в соответсвующие URL?

Из-за кириллицы в ответе пришлось для батника сделать так:

Код:
@echo off
chcp 65001 >nul
for /f "usebackq tokens=1,2,3" %%A in ("IP.txt") do (
    for /f "tokens=2" %%L in ('ping -a %%A ^| FIND /I "Pinging"') do (
        for /f "tokens=2 delims=[]" %%M in ('ping -a %%A ^| FIND /I "Pinging"') do (
            echo %%M - %%L
        )
    )
)
echo.
pause

Пример файла IP.txt:

Цитата:
94.100.180.200
62.217.160.2
77.88.55.242
77.88.55.60
 

Результат работы батника:

Цитата:
94.100.180.200 - mail.ru
62.217.160.2 - www.dzen.ru
77.88.55.242 - ya.ru
77.88.55.60 - yandex.ru
 
Press any key to continue . . .

**********
Update.
Более быстрый вариант:
http://forum.ru-board.com/topic.cgi?forum=5&topic=50615&start=3340#8

Всего записей: 494 | Зарегистр. 31-01-2015 | Отправлено: 14:04 31-10-2023 | Исправлено: notinthewoods, 02:48 01-11-2023
Fenrizz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
notinthewoods
Чтобы работало с кириллицей файл надо сохранять в кодировке DOS866

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 16:50 31-10-2023 | Исправлено: Fenrizz, 16:54 31-10-2023
vaskamy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста.
Батник предназначен для перемещения метаданных из первого перетянутого видео во второе и сохранение в выходное видео.
Всё работает но есть ошибка создается на выходе два выходных видео так как обрабатывается оба видео файла находящиеся в папке,
вот кот:

Код:
@echo off
 
set "ffmpeg=D:\ffmpeg\bin"
set "ffmpeg_path=%ffmpeg%"
 
CD /D "%~dp1"
 
for %%i in (*.mp4) do (
  for %%c in (*.mp4) do (
    if not "%%i"=="%%c" (
      "%ffmpeg_path%\ffmpeg" -i "%%i" -i "%%c" -map 1 -map_metadata:s:v 0:s:v -map_metadata:s:a 0:s:a -map 0:v:1 -disposition:v:1 attached_pic -c copy "%%~ni_%%~nc_replaced.mp4"
    )
  )
)
 
pause

Всего записей: 968 | Зарегистр. 04-03-2017 | Отправлено: 21:12 31-10-2023
BorlandIMHO

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz
notinthewoods
Не наблюдаю в ваших батниках ничего похожего на URL. Только разрешение DNS-имени по IP...
Если чё, {специально предназначенная для работы с DNS утилита} nslookup делает это без всякого пинга...
 
(Добавлено)
Кроме того, одному IP может соответствовать множество различных доменных имён. Никакой гарантии, что ping/nslookup отдадут "нужное" имя...

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

Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 21:45 31-10-2023 | Исправлено: BorlandIMHO, 21:57 31-10-2023
notinthewoods



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

Цитата:
Никакой гарантии, что ping/nslookup отдадут "нужное" имя...

Ну, если нужно "хоть что-то" (IP -> Host), то может и сгодится..
Да, nslookup значительно удобнее для этой цели, нежели ping
Тестировал с использованием Google Public DNS.
Вот измененный вариант батника отсюда:

Код:
@echo off
chcp 65001 >nul
 
REM Указать IP сервера, через который будут осуществляться запросы
set dns=8.8.8.8
 
for /f "usebackq tokens=1,2,3" %%A in ("IP.txt") do (
    for /f "tokens=2" %%J in ('nslookup %%A %dns% ^| FIND /V "%dns%" ^| FIND /I "Name"') do (
        for /f "tokens=2" %%K in ('nslookup %%A %dns% ^| FIND /V "%dns%" ^| FIND /I "Address"') do (
            echo %%K - %%J
        )
    )
)
 
echo.
pause

(Не заморачивался насчет сохранения батника в OEM 866, обычный UTF-8)
Результат работы батника тот же, но с использованием nslookup на порядок быстрее, чем с ping

Всего записей: 494 | Зарегистр. 31-01-2015 | Отправлено: 02:47 01-11-2023
Wu Tang



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

Код:
 
@echo on
 
taskkill /f /im explorer.exe
timeout /t 3
:: Очистить кэш иконок
cd /d "%userprofile%\AppData\Local"
del /f /q /a:s IconCache*
del /f /q IconCache*
cd /d "%userprofile%\AppData\Local\Microsoft\Windows\Explorer"
del /f /q /a:s IconCache*
del /f /q /a:s thumbcache*
del /f /q IconCache*
del /f /q thumbcache*
timeout /t 1
start explorer.exe
pause
 

не может найти iconcache в app\local но в windows\explorer находит и удаляет.
не могу понять почему по первому пути не удаляет то.

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3788 | Зарегистр. 15-10-2007 | Отправлено: 05:42 01-11-2023
Simple Code

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wu Tang
 
Зачем изобретать велосипед. Вот выдернул файлы-реестра из этого приложения.
Это контекстное меню для раб. стола #
 
#

Всего записей: 172 | Зарегистр. 19-11-2022 | Отправлено: 06:54 01-11-2023 | Исправлено: Simple Code, 07:11 01-11-2023
BorlandIMHO

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

Цитата:
если нужно "хоть что-то" (IP -> Host), то может и сгодится

Может и сгодится. А может и нет. Зависит от того, что имел в виду автор вопроса...
Что такое URL-адрес?
Вообще говоря, DNS-имя не является не только URL, но даже его обязательной частью...

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

Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 07:23 01-11-2023
Wu Tang



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Simple Code
спасибо, оч интересно!
появился вопрос - а почему не чистится thumbcache, и что дает ieuenit.exe дополнительно к очистке *.db?  
понять просто хочется.

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3788 | Зарегистр. 15-10-2007 | Отправлено: 08:16 01-11-2023
Simple Code

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

Цитата:
появился вопрос - а почему не чистится thumbcache, и что дает ieuenit.exe дополнительно к очистке *.db?  

Thumbcache нужен, чтобы ускорить процесс загрузки и отображения миниатюр. Например: когда вы просматриваете папку с изображениями или видео, Windows создаёт небольшие копии этих файлов (миниатюры), чтобы быстро отобразить их в файловом проводнике или других приложениях. Поэтому отношение к иконкам он не имеет, это уже другой пункт, например в CCleaner он называется "Кэш эскизов".
 
ie4uinit.exe - грубо говоря перестраивает кэш иконок, это нужно для того, что бы не убивать проводник "explorer.exe".
Также после очистки "Кэша иконок" Windows 10/11 создаёт файлы телеметрии: *.log и *.txt по этому пути "%localappdata%\Microsoft\Internet Explorer", по этому тут тоже подчищается этот мусор.  

Всего записей: 172 | Зарегистр. 19-11-2022 | Отправлено: 17:23 01-11-2023
Wu Tang



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Simple Code
Спасибо, просто я полагал, что этот твик также фиксит тупняки в проводнике при просмотре папок с большим кол-ом картинок, очищая их кэш.
Тогда в каких случаях нужен этот скрипт, те при каких типах глюков?
Я протестил данный скрипт на несколько осях, после него почему-то не создается заново iconcache.db, делал пару ребутов, все равно не появлялся, а создался только тогда, когда я сделал рестарт эксплорера вручную, это как глюк?
ps удивительно, что даже здесь и даже в txt 10 умудряется создавать телеметрию )))


----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3788 | Зарегистр. 15-10-2007 | Отправлено: 03:59 02-11-2023
DeZz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
задача - открыть на редактирование файл hosts с запросом UAC
гуглится эта страничка, но скачать не дает
 
может кто подскажет решение (желательно через reg-menu)?

Всего записей: 1165 | Зарегистр. 23-01-2006 | Отправлено: 15:38 02-11-2023
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DeZz
Цитата:
задача - открыть на редактирование файл hosts с запросом UAC

Команда простая:
PowerShell
Код:
Start-Process -FilePath notepad.exe -ArgumentList $env:windir\system32\drivers\etc\hosts -verb runas


Цитата:
желательно через reg-menu

Что такое reg-menu, не знаю.

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 16:26 02-11-2023
DeZz



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

Цитата:
Что такое reg-menu, не знаю.

 
к примеру:
 

Код:
[HKEY_CLASSES_ROOT\*\shell\Открыть в Блокноте]
"Icon"="%systemroot%\\System32\\notepad.exe"
"Position"="Bottom"
[HKEY_CLASSES_ROOT\*\shell\Открыть в Блокноте\command]
@="notepad.exe %1"


Всего записей: 1165 | Зарегистр. 23-01-2006 | Отправлено: 16:57 02-11-2023 | Исправлено: DeZz, 16:57 02-11-2023
DeZz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в теории, с помощью NTRIGHTS можно разрешить юзерам не-админам менять системное время
 

Код:
if exist "%~dp0ntrights.exe" ("%~dp0ntrights.exe" +r SeSystemtimePrivilege -u "Все")

 
но даже, если такое выполнить под админом, а потом зайди под "опытным пользователем", то время он все равно менять не может
 
может кто знает решение?

Всего записей: 1165 | Зарегистр. 23-01-2006 | Отправлено: 11:52 03-11-2023 | Исправлено: DeZz, 11:53 03-11-2023
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DeZz
"Все" - это не "pre-windows 2000 logon name". В примерах там дан нужный вам вариант:

Код:
 
ntrights -u INTERACTIVE +r SeSystemtimePrivilege
 

FYI: использование well-known name "Everyone"/"Все" с точки зрения безопасности вообще не рекомендуется. Вместо него следует использовать "Authenticated Users".

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

Всего записей: 4000 | Зарегистр. 18-04-2005 | Отправлено: 12:11 03-11-2023
DeZz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ntrights -u "Прошедшие проверку" +r SeSystemtimePrivilege
 
заработало, спс
 
ps. интересно, что результат работы программы - кракозябрами.
пробовал chcp 1251 и chcp 866 вставлять первой строкой батника

Всего записей: 1165 | Зарегистр. 23-01-2006 | Отправлено: 12:40 03-11-2023 | Исправлено: DeZz, 13:12 03-11-2023
alex52mail

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как добавить\удалить одно не удалив что там есть
Reg.exe add  ....  /v "LowerFilters" /t REG_MULTI_SZ /d "ewf\0" /f
ewf  ewf\0  \0ewf  - это добавляет - но что было - удаляет.  

Всего записей: 1569 | Зарегистр. 04-09-2015 | Отправлено: 20:01 04-11-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

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