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

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sakatgg
Цитата:
У меня похоже в EN нехватает каких-то русских шрифтов.

Наверное вот этого не хватает.
 
ЗЫ. У меня тоже EN, только Win10. И всё пучком. (русский MUI никогда не устанавливался)

Всего записей: 1039 | Зарегистр. 30-05-2006 | Отправлено: 19:22 26-06-2023
sakatgg

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
m00slim25, спасибо, переключился и первый код от Simple Code создал Кастом.txt
 
Правда это тоже не решение, сейчас проверил, в FSCapture и Task Scheduler Viewer вот такое получилось
 

 
P.S.
У меня такие настройки локалей

Всего записей: 1119 | Зарегистр. 18-11-2006 | Отправлено: 19:47 26-06-2023 | Исправлено: sakatgg, 21:09 26-06-2023
m00slim25



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sakatgg
Цитата:
в FSCapture и Task Scheduler Viewer вот такое получилось

Ну с этим я вряд ли помогу... Тем более здесь беды Win11 - оффтопик.
 
ЗЫ. У меня такие настройки локалей
FSCapture - не знаю что за программа.
А в TaskSchedulerView есть собственные настройки шрифтов в Options. У меня она по умолчанию не русифицирована

Всего записей: 1039 | Зарегистр. 30-05-2006 | Отправлено: 20:18 26-06-2023 | Исправлено: m00slim25, 20:20 26-06-2023
Simple Code

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

Код:
 
chcp 65001 >nul
ren "%~dp0Custom.txt" "Кастом.txt"

 

Всего записей: 172 | Зарегистр. 19-11-2022 | Отправлено: 21:11 26-06-2023
sakatgg

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

Цитата:
попробуйте в конец первого кода добавить:

Ок, так создался Кастом.txt. Спасибо.
 
Использовал ранее SynWrite, он у меня на Win11 EN криво с русским работает
Сейчас пробую редактировать в notepad++ - русский не портит.

Всего записей: 1119 | Зарегистр. 18-11-2006 | Отправлено: 21:43 26-06-2023 | Исправлено: sakatgg, 21:44 26-06-2023
sakatgg

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XviD4PSP_8.1.54_PRO создает главы в формате однострочного XML 111.xml
MKVmerge главы понимает в таком многострочном формате XML 222.xml
 
Преобразование делаю в Notepad++ следующим образом:
 
Плагины -> XML Tools -> Pretty Print (форматирует однострочный в многострочный)
Поиск -> Замена -> ChapLanguage на ChapterLanguage -> Заменить все
<?xml version="1.0" encoding="UTF-8"?>  - В первой строке вставить
Сохранить в XML
 
Подскажите, как эти действия сделать через батник, в один клик. Спасибо.
 
P.S., useretail, привел пример с Notepad++, чтобы понятнее было. Совсем не программист  
 
P.S.2 Имелось в виду типа такого "в один клик", как в батнике от Simple Code, если возможно:  
 
Drag+and+Drop.mkv

Всего записей: 1119 | Зарегистр. 18-11-2006 | Отправлено: 23:42 28-06-2023 | Исправлено: sakatgg, 00:52 29-06-2023
useretail



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

Цитата:
Подскажите, как эти действия сделать через батник, в один клик. Спасибо.

исходный код Notepad++ открыт: https://github.com/notepad-plus-plus/notepad-plus-plus
возьмите и перепишите под свои нужды

Всего записей: 4637 | Зарегистр. 14-09-2007 | Отправлено: 23:53 28-06-2023 | Исправлено: useretail, 23:53 28-06-2023
Inoz2000



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

Всего записей: 4916 | Зарегистр. 23-04-2009 | Отправлено: 00:01 29-06-2023
zvezdochiot



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

Цитата:
через батник, в один клик

Клик в батнике? А это как? Какая то гуишная примочка, чтоле?
 
 

Всего записей: 562 | Зарегистр. 18-05-2023 | Отправлено: 00:11 29-06-2023
Simple Code

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sakatgg
 
Вот состряпал консольную утилиту Drag-and-Drop. Требования: .NET Framework 4.7.2
Просто перетащите на исполняемый фал однострочный XML-файл.

Всего записей: 172 | Зарегистр. 19-11-2022 | Отправлено: 02:51 29-06-2023
greeple

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Simple Code
на батник же тоже можно кидать файлы
 
Добавлено:
%* вот так если не ошибаюсь
или там просто сложнее это всё писать? вроде и с# можно прям там писать в powershell
 
Добавлено:
а ну да, на видео же твой скрипт, я не видел просто

Всего записей: 4241 | Зарегистр. 11-02-2020 | Отправлено: 03:06 29-06-2023
Simple Code

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

Цитата:
или там просто сложнее это всё писать? вроде и с# можно прям там писать в powershell

На чистом C# написал, на нём намного проще это сделать.  
Всего пару строчек кода:

Код:
 
XDocument xDoc = XDocument.Load(inFile);
xDoc.Save(outFile);
File.WriteAllText(outFile, File.ReadAllText(inFile).Replace("ChapLanguage", "ChapterLanguage"));
 


Цитата:
вроде и с# можно прям там писать в powershell

Можно и powershell, и cmd и т.д.
Также на powershell можно писать коды (синтаксис) C#.

Всего записей: 172 | Зарегистр. 19-11-2022 | Отправлено: 03:24 29-06-2023 | Исправлено: Simple Code, 03:29 29-06-2023
sakatgg

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Simple Code, Ок, огромное спасибо, всё четко работает

Всего записей: 1119 | Зарегистр. 18-11-2006 | Отправлено: 08:17 29-06-2023
Leon_Ko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите посредством bat, cmd, wsh реализовать следующее: нужно запускать программу в определённом диапазоне каждый месяц, скажем с 05-го по 10-е число. В случае, если сценарий запускается вне диапазона, должно выводиться сообщение и завершение работы.
Что-то не соображу, как это сделать.

Всего записей: 1024 | Зарегистр. 26-11-2008 | Отправлено: 14:33 01-07-2023
VDVolkov



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем добра, уважаемые форумчане!
 
Прошу помочь решить следующую задачу. Есть каталог с огромным количеством картинок разного размера в пикселях (1.jpg, колонна.bmp, стена.png). Как получить в этом каталоге текстовый файл следующего содержания:
[1.jpg]
xmm=размер в пикселях
ymm=размер в пикселях
 
[колонна.bmp]
xmm=размер в пикселях
ymm=размер в пикселях
 
[стена.png]
xmm=размер в пикселях
ymm=размер в пикселях
 
Например,
 
[1.jpg]
xmm=500
ymm=250
 
 Или, если можно, ткните, пожалуйста, в программу которая это умеет. Пока файлов было 20...30 делал руками, а когда их 100...120 стало проблемно.
 
Пробовал средствами XnViewMP создать список, получил:
 
[02_линолеум.jpg]    xmm=320    ymm=320
[03_линолеум.jpg]    xmm=320    ymm=150
[04_линолеум.jpg]    xmm=320    ymm=160
[05_линолеум.jpg]    xmm=320    ymm=170
 
Далее через Excel макросом, но это муторно.
 
А как из этого сделать bat файлом (положил его в нужный каталог, старт и все или почти все готово)
 
[02_линолеум.jpg]
xmm=320
ymm=320
 
[03_линолеум.jpg]
xmm=320
ymm=150
 
[04_линолеум.jpg]
xmm=320
ymm=160
 
[05_линолеум.jpg]
xmm=320
ymm=170

Всего записей: 487 | Зарегистр. 17-08-2006 | Отправлено: 16:25 01-07-2023 | Исправлено: VDVolkov, 17:30 01-07-2023
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если есть PowerShell, сохранить код в файл Get-PictureSize.ps1
Код:
function Get-PictureSize {
    PARAM (
        [Parameter(Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
        [System.IO.FileInfo[]] $Path
    )
 
    BEGIN { $pic = New-Object -ComObject Wia.ImageFile }
 
    PROCESS {
        try { $pic.LoadFile($_.FullName) } catch { }
 
        $w = $pic.Width
        $h = $pic.Height
 
        "[$($_.Name)]`nxmm=$w`nymm=$h"
    }
 
    END { $pic = $null }
}
 
# dir F:\Pictures\* -File -Include "*.png", "*.gif", "*.jpg", "*.bmp" | Get-PictureSize

 
А вызов из cmd, ярлыка, примерно так:
Код:
powershell -command ". 'К:\Сохранённому скрипту\Путь\Get-PictureSize.ps1'; dir 'К:\Картинкам путь\*' -File -Include "*.png", "*.gif", "*.jpg", "*.bmp" | Get-PictureSize"

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 19:13 01-07-2023 | Исправлено: iNNOKENTIY21, 19:15 01-07-2023
Simple Code

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

Цитата:
А как из этого сделать bat файлом (положил его в нужный каталог, старт и все или почти все готово)

Hybrid JScript Просто перетащите файлы (JPG PNG BMP GIF TIFF) на скрипт. Рядом со скриптом создастся файл __Result.txt.

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
Simple Code
 
Спасибо за желание помочь. Видимо, я сделал что-то не так.
После рекомедации iNNOKENTIY21 получил
https://disk.yandex.ru/i/o_bJ_FpXjf6Rrw
 
После рекомедации Simple Code получил
https://disk.yandex.ru/i/bgMoToBT_Vb8Og
 
И объяснил, видимо, плохо чего прошу.
1. Есть каталог с файлами.
2. Пункт получения размеров пропускаем, так как файл, полученный из XnViewMP размеры содержит

Цитата:
 
[01_линолеум.jpg]*    xmm=474*    ymm=472
[02_линолеум.jpg]*    xmm=320*    ymm=320
[03_линолеум.jpg]*    xmm=320*    ymm=320
[04_линолеум.jpg]*    xmm=320*    ymm=320

https://disk.yandex.ru/d/rQ9tRzpoP6Ssog
Звездочки всего лишь разделяют столбцы для макроса Excel
3. Прошу помочь изменить стрeтуру файла https://disk.yandex.ru/d/rQ9tRzpoP6Ssog в следующий вид

Цитата:
 
[01_линолеум.jpg]
xmm=474
ymm=472
 
[02_линолеум.jpg]
xmm=320
ymm=320
 
[03_линолеум.jpg]
xmm=320
ymm=320
 
[04_линолеум.jpg]
xmm=320
ymm=320

 
https://disk.yandex.ru/d/94_S3EIJbwkMcw
 
P.S. Вопрос снят. Сделал через Mакрос в Excel.

Всего записей: 487 | Зарегистр. 17-08-2006 | Отправлено: 06:00 02-07-2023 | Исправлено: VDVolkov, 08:22 02-07-2023
7332

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Заранее прошу прощения за этот вопрос, но несколько часов потратил на безрезультатные поиски.  
Надо создать скрипт при передаче которому, командной строкой директории, она будет просканирована на наличие файлов (1 уровень вложенности), и эти файлы будут _последовательно_ обработаны консольной программой (guetzli) с добавленим параметров настройки программы (--quality 84) и пути с именем к обработанному файлу, с расширением отличным (или нет) от исходного (на входе будет .png или .jpg, на выходе только .jpg). Лучше в другой директории, можно жестко заданной. Имена файлов желательно сохранить, но это не обязательное условие.  
Я понимаю что нужен .cmd (.bat) но не умею их писать на должном уровне.

Всего записей: 670 | Зарегистр. 08-06-2006 | Отправлено: 06:41 02-07-2023
Simple Code

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

Всего записей: 172 | Зарегистр. 19-11-2022 | Отправлено: 08:31 02-07-2023 | Исправлено: Simple Code, 08:43 02-07-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