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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 196 197 198 199

   

cchameleone



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

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ 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 (PDF). Курс лекций для начинающих
· Бокалий В. Командная строка (pdf-брошюрка в 20 страниц)
· Александров А., Дибров А. Урок bat-аники (pdf)
· Уильям Р. Станек - Командная строка Windows. Справочник администратора
 
· Скрываем консольные окна, Выполнение BAT-скриптов без вызова окна консоли
· cmdow — изменение параметров и видимости дос-окна, Статья в КОМПЬЮТЕРРАONLINE
· Набор GNU утилит для win32
· HS_Packet.7z - Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· blat — отправка почты из консоли
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Easy Batch Builder+Rus+Crack - Редактор BAT файлов.Через графический интерфейс программы вы сможете быстро конструировать пакетные файлы практически любой сложности. (В комплекте есть Лоадер созданный с помощью Sign Of Misery некоторые антивирусы обзывают его вирусом. Вам решать: ставить или не ставить) (ЗЕРКАЛО)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек) ещё и ещё
· Переход из 32-битной версии cmd.exe в 64-битную (1) (2)(3)

Всего записей: 2279 | Зарегистр. 16-10-2015 | Отправлено: 09:22 29-04-2016 | Исправлено: Maz, 08:47 26-03-2020
loki1313

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вы же снимали на смартфон или другой фотоаппарат ?
Имя кадрам фотоаппарат\смарт присваивает последовательно от 0001 до 9999.
Затем цикл начинается по новой.  
Думал что это обшеизвестная информация, которую не  нужно уточнять ...
Например, на Canon:  IMG_8028.JPG, IMG_8029.JPG, IMG_8030.JPG, IMG_8031.JPG и т.д.
 
Применил скрипт. Папки начали создаваться правильно
01 18
02 26  
03 39 и т.д.
Но в в папки перекидывает тока первый файл серии ...
остальные файлы серии остаются на месте ...
 
Alex_Piggy подсказал, как выводить фокальное расстояние без txt  
('exiftool.exe -FocalLength *.jpg')

Всего записей: 20 | Зарегистр. 09-09-2004 | Отправлено: 23:32 21-02-2020 | Исправлено: loki1313, 23:49 21-02-2020
NIKZZZZ



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

Код:
@echo off
cd /d "%~dp0"
set count=0
set fl=0
for /f "delims=" %%a in ('dir /b /a-d /od *.jpg') do call :_srt "%%a"
exit /b
 
:_srt
for /f "tokens=3 delims=: " %%b in ('exiftool.exe "%~1" ^| find /i "Focal Length"') do set flt=%%b
if .%flt%==. goto :eof
if %fl%==%flt% goto _1
set fl=%flt%
set cat=%count%_%fl%
set /a count +=1
md %cat%
:_1
>nul move "%~1" %cat%
echo "%~nx1" ^>^> %cat%
goto :eof

 
Файлы сортируются по времени, можно поменять на сортировку по имени.
Если Focal Length не определен, он останется не отсортированным.
 

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 23:51 21-02-2020
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
loki1313
Вы, надеюсь, на копии тренируетесь? Еще раз скопируйте код и проверьте, нет ли в концах строк пробелов.  
 

Цитата:
Уточните, как сформулировать вопрос по exiftool,  
чтоб она выдавала информацию не в файл,а КУДА ?

Дело не в том, что выдает в файл (еще большой вопрос, будет ли быстрее, если в stdout), а в объеме выдаваемого. Читать справку надо, чтобы узнать, как заставить выдавать только нужный параметр.

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

Всего записей: 3962 | Зарегистр. 18-04-2005 | Отправлено: 23:59 21-02-2020
MKN



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
loki1313
Инфа только о Focal Length :   exiftool -FocalLength -w txt MyFoto.jpg

Всего записей: 4922 | Зарегистр. 21-04-2005 | Отправлено: 09:26 22-02-2020
generator324

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

Цитата:
Мне казалось, что будет заметно, как внутренние кавычки экранируются бекслешем (\"):

Я всё равно не понимаю Можете по-конкретнее?
Я должен прописать свою команду в файл hidcontest.tx или что?
Экранировка бекслешем для меня вообще тёмный лес - никогда не слышал раньше, только видел (в реестре Windows). А уж как использовать сие...

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 10:17 22-02-2020
iglezz

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
generator324
куда уж конкретнее?
в общем виде: hidcon.exe "команда"
если команда содержит кавычки, поставить перед ними \

Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 11:30 22-02-2020
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
generator324
Зачем тащить всякие внешние hidcon'ы, когда модифицированные SFX-модули Олега Щербакова это сами умеют.

Всего записей: 12375 | Зарегистр. 11-03-2002 | Отправлено: 12:03 22-02-2020
generator324

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

Цитата:
в общем виде: hidcon.exe "команда"  

Это мне вполне понятно

Цитата:
если команда содержит кавычки, поставить перед ними \

Т.е. вот так?

Код:
hidcon.exe "cmd /c echo Netsh Advfirewall Firewall add rule name=\"2ГИС (grym.exe)\" dir=out action=block program=\"C:\program files (x86)\2gis\3.0\grym.exe\" description=\"Outbound rule to block 2ГИС (grym.exe)\"

По-моему, тут что-то всё-таки не так - поправьте, пожалуйста!
И уж тогда тем более мне непонятен ваш передыдущий пример - я там в конец запутался...  
Какие-то промежуточные test'ы, hidcontest.txt - они ясность в понимание не вносят ни в одном разе...
 
Pasha_ZZZ

Цитата:
Зачем тащить всякие внешние hidcon'ы, когда модифицированные SFX-модули Олега Щербакова это сами умеют.

Речь не о 7-Zip, а об этом.  
 
Добавлено:
По-моему, я вот здесь:

Код:
hidcon.exe "cmd /c echo Netsh Advfirewall Firewall add rule name=\"2ГИС (grym.exe)\" dir=out action=block program=\"C:\program files (x86)\2gis\3.0\grym.exe\" description=\"Outbound rule to block 2ГИС (grym.exe)\""

кавычку забыл, не?
 
Добавлено:
Нет, не так: эту шнягу cmd /c echo НЕ НУЖНО ВООБЩЕ !!!
Правильная строчка имеет вид:

Код:
hidcon.exe "Netsh Advfirewall Firewall add rule name=\"2ГИС (grym.exe)\" dir=out action=block program=\"C:\program files (x86)\2gis\3.0\grym.exe\" description=\"Outbound rule to block 2ГИС (grym.exe)\""

P.S.  Эк меня с кружки КОФЭ то попёрло! )
 
Добавлено:
iglezz
Благодарю за "открытие" (для меня) бекслеша
 
Добавлено:
Блинн, бат-ник работает, засовываю строчку сюда - НЕ РАБОТАЕТ
В чём иожет быть причина? Без hidcon.exe всё робит...

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 14:19 22-02-2020
iglezz

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

Цитата:
Блинн, бат-ник работает, засовываю строчку сюда - НЕ РАБОТАЕТ
В чём иожет быть причина? Без hidcon.exe всё робит...

Это уже выходит за рамки этой темы, но..
Стоит открыть готовый .msi в редакторе (orca, ...) и посмотреть, как команда там прописалась.

Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 20:20 22-02-2020
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iglezz
Благодарю, действительно прописалось не так
Подробнее...
Вопрос, как это поправить? MSI Wrapper у меня - Portable (уcтанавливать не нужно), могу выложить куда-нибудь, благо он небольшой (6 Мб).

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 20:53 22-02-2020 | Исправлено: generator324, 11:12 23-02-2020
Galiley

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

Цитата:
А если тотал на диске в нескольких экземплярах, то какой запустится ?
У меня запустился первый с начала диска - из програм файлз.
А если нужно запустить второй - из програм файлз x86 ?  

На медленном компе, чтобы не ждать результат  'dir' пришлось сделать просто:

Код:
@echo off
pushd "%~dp0"
chcp 1251 >nul
set "Target=Portable\TotalCommander\TOTALCMD64.EXE"
for /f "tokens=1*" %%A in ('fsutil fsinfo drives') do (
    for %%D in (%%B) do (
        if exist "%%D%Target%" (
            start "" "%%D%Target%"
            exit /b
        )
    )
)
echo "%Target%" не найден.
echo.
pause
exit/b
 

Всего записей: 95 | Зарегистр. 02-01-2020 | Отправлено: 15:14 23-02-2020
se4a



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извините, пожалуйста, это снова.
После огромной помощи от NIKZZZZ, ещё раз спасибо!
На "всякий пожарный" я решил вручную сконвертировать подобным образом весь  
раздел "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\Default\PowerSchemes\",  
свыше 250-ти параметров. За четыре дня я(по образцам, написанным NIKZZZZ) "перелопатил"  
почти все. Но остались вот эти несколько :
 
Показать
 
Если трудно "переписывать" все, пожалуйста, покажите хотя бы на примере самого короткого!
 
Вот этот :
 

Код:
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\Default\PowerSchemes]
"ActivePowerScheme"="59102f1f-c80d-4fc5-855f-a09316e6731d"
 

 
Я, надеюсь, сконвертировал правильно :
 

Код:
 
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power\User\Default\PowerSchemes" /v "ActivePowerScheme" /t REG_SZ /d "59102f1f-c80d-4fc5-855f-a09316e6731d" /f
 

 
? Или наделал ошибок?
 
Чуть не забыл. К примеру, имеется ключ(раздел) реестра :
 

Код:
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"DisableWindowsUpdateAccess"=dword:00000001
"ExcludeWUDriversInQualityUpdate"=dword:00000000
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"AUOptions"=dword:00000005
"NoAutoUpdate"=dword:00000001
 

 
Существует ли возможность через командную строку применять новые(изменённые) значения  
ключей реестра без перезагрузки системы?
 
Заранее всем спасибо!

Всего записей: 240 | Зарегистр. 10-01-2012 | Отправлено: 15:19 24-02-2020
NIKZZZZ



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

Цитата:
На "всякий пожарный" я решил вручную сконвертировать подобным образом весь  

Скачайте конвертер, зачем делать все в ручную, для больших объемов вероятность не допустить несколько ошибок очень мала.

Цитата:
Или наделал ошибок?  

Если хочется сделать в ручную, опять же проверьте это тем же конвертером, сравнив результат.

Цитата:
Существует ли возможность через командную строку применять новые(изменённые) значения  
ключей реестра без перезагрузки системы?

Не корректный вопрос, некоторые ключи вступают в действия сразу, некоторые ключи требуют для их вступления в силу дополнительных действий, для некоторых без перезагрузки не обойдешься.
 
 
 
 
Добавлено:
Забыл добавить, некоторые ключи не могут быть созданы через Reg.exe add, это ограничение данной команды.

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 15:40 24-02-2020
Death_INN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
se4a, изменение значений параметров ExcludeWUDriversInQualityUpdate и NoAutoUpdate через ком строку игнорируются (блокируются хешем), и мне лично не помогает даже перезагрузка. Через GUI - хеши меняются и изменения значений реестра действуют моментально.
Есть возможность добиться такого через ком строку, если действовать на уровне API

Всего записей: 3025 | Зарегистр. 24-10-2002 | Отправлено: 16:23 24-02-2020
se4a



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

Цитата:
Скачайте конвертер

 
NIKZZZZ, спасибо за совет! Но мне нужно решить всего лишь эту "локальную" задачу. Она(программа) хотя бы портативна? Блин,  мне ближайшее время ещё нужно установить с дюжину программ с "логированием" ASHAMPOO Uninstaller-ом!
 
Искал On-Line-сервис для "конвертирования" REG->BAT, не нашёл!
Нашёл ещё один вариант BAT-файла :
 

Код:
@echo off  
regedit.exe /s свой файл. reg

 
или
 

Код:
reg import "[путь к .reg файлу]"

 

Цитата:
для некоторых без перезагрузки не обойдешься

 
Очень жаль! Я сейчас тестирую разные варианты отключения "АвтоОбновления", и каждый раз нужно перезагружаться!
 
Добавлено:

Цитата:
Есть возможность добиться такого через ком строку, если действовать на уровне API  

Это для меня вообще тёмный лес!
 
Что из-за долбаков из M$ каждые 35 дней я должен тратить несколько дней на обновление! Твари они долбанные!
Ни "комп. для человека", а "чел для мёртвого компа"!
 

Всего записей: 240 | Зарегистр. 10-01-2012 | Отправлено: 18:00 24-02-2020 | Исправлено: se4a, 18:22 24-02-2020
NIKZZZZ



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

Цитата:
Искал On-Line-сервис для "конвертирования" REG->BAT, не нашёл!  

Зачем online, я же давал ссылку. значительно удобнее.

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 18:30 24-02-2020
se4a



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

Цитата:
Зачем online, я же давал ссылку. значительно удобнее.

 
NIKZZZZ, на оба EXE-файла реагирует как на заражённые!
Что-то мне не очень хочется иметь проблемы с "ноутом"!

Всего записей: 240 | Зарегистр. 10-01-2012 | Отправлено: 17:00 25-02-2020
NIKZZZZ



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

Цитата:
на оба EXE-файла реагирует как на заражённые!  

Вирусов там нет, выбор за вами, кому доверять,  параноику-антивирусу или автору.

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 17:13 25-02-2020
se4a



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

Цитата:
Вирусов там нет, выбор за вами, кому доверять,  параноику-антивирусу или автору.  

 
Извините!

Всего записей: 240 | Зарегистр. 10-01-2012 | Отправлено: 18:58 25-02-2020
NIKZZZZ



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

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 19:23 25-02-2020
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » Командная строка, батники, сценарии (bat, cmd)
Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru