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

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

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

Maz



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

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ 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

Всего записей: 39691 | Зарегистр. 26-02-2002 | Отправлено: 22:41 20-06-2024 | Исправлено: Maz, 21:52 28-09-2024
MaraGame24



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

Всего записей: 2582 | Зарегистр. 25-11-2023 | Отправлено: 19:02 07-09-2025 | Исправлено: MaraGame24, 10:56 08-09-2025
sakatgg

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как сделать из этого списка list.txt (пример)
 

Код:
Microsoft-OneCore-Kernel-AppCore-Package~31bf3856ad364e35~amd64~~10.0.26100.1.cat
Microsoft-OneCore-Kernel-AppCore-Package~31bf3856ad364e35~amd64~~10.0.26100.1.mum
Microsoft-OneCore-Kernel-AppCore-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.cat
Microsoft-OneCore-Kernel-AppCore-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.mum
Microsoft-OneCore-Kernel-AppCore-WOW64-Package~31bf3856ad364e35~amd64~~10.0.26100.1.cat
Microsoft-OneCore-Kernel-AppCore-WOW64-Package~31bf3856ad364e35~amd64~~10.0.26100.1.mum
Microsoft-OneCore-Kernel-AppCore-WOW64-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.cat
Microsoft-OneCore-Kernel-AppCore-WOW64-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.mum
Microsoft-OneCore-LibreSSL-Package~31bf3856ad364e35~amd64~~10.0.26100.1.cat
Microsoft-OneCore-LibreSSL-Package~31bf3856ad364e35~amd64~~10.0.26100.1.mum
Microsoft-OneCore-LibreSSL-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.cat
Microsoft-OneCore-LibreSSL-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.mum
Microsoft-OneCore-Licensing-Package~31bf3856ad364e35~amd64~~10.0.26100.1.cat
Microsoft-OneCore-Licensing-Package~31bf3856ad364e35~amd64~~10.0.26100.1.mum
Microsoft-OneCore-Licensing-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.cat
Microsoft-OneCore-Licensing-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.mum
Microsoft-OneCore-LSA-Package~31bf3856ad364e35~amd64~~10.0.26100.1.cat
Microsoft-OneCore-LSA-Package~31bf3856ad364e35~amd64~~10.0.26100.1.mum
Microsoft-OneCore-LSA-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.cat
Microsoft-OneCore-LSA-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.mum
Microsoft-OneCore-LSA-WOW64-Package~31bf3856ad364e35~amd64~~10.0.26100.1.cat
Microsoft-OneCore-LSA-WOW64-Package~31bf3856ad364e35~amd64~~10.0.26100.1.mum
Microsoft-OneCore-LSA-WOW64-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.cat
Microsoft-OneCore-LSA-WOW64-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1.mum

 
такой

Код:
Microsoft-OneCore-Kernel-AppCore-Package
Microsoft-OneCore-Kernel-AppCore-WOW64-Package
Microsoft-OneCore-LibreSSL-Package
Microsoft-OneCore-Licensing-Package
Microsoft-OneCore-LSA-Package
Microsoft-OneCore-LSA-WOW64-Package

 
Т.е. надо название файла обрубить до первого знака ~ и убрать одинаковые названия. Спасибо

Всего записей: 1265 | Зарегистр. 18-11-2006 | Отправлено: 12:27 10-09-2025 | Исправлено: sakatgg, 12:37 10-09-2025
Inoz2000



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ии подсказывает типа  так
Код:
setlocal enabledelayedexpansion
> "A:\OUT.txt" (for /f "delims=~" %%a in ('sort "A:\IN.txt"') do (if "!prev!" neq "%%a" echo %%a
set "prev=%%a"
))

Всего записей: 5501 | Зарегистр. 23-04-2009 | Отправлено: 12:52 10-09-2025
mithridat1



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

Цитата:
get-content list.txt | %{$_ -replace '~.*',''} | sort -unique

Всего записей: 5188 | Зарегистр. 05-01-2006 | Отправлено: 12:52 10-09-2025 | Исправлено: mithridat1, 12:54 10-09-2025
Inoz2000



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mithridat1
как увижу вот это | %{$_ аж глаз дёргается

----------
Мы все умрём. (-:

Всего записей: 5501 | Зарегистр. 23-04-2009 | Отправлено: 12:56 10-09-2025
virjokk



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000
Ну можно и без этого:
Код:
(gc list.txt) -replace '~.*','' | sort -uni

Всего записей: 502 | Зарегистр. 19-05-2006 | Отправлено: 13:22 10-09-2025 | Исправлено: virjokk, 13:22 10-09-2025
sakatgg

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

Код:
B:\>(
if "!prev!" NEQ "Microsoft-OneCore-BootableSKU-NoSetup-merged-Package" echo Microsoft-OneCore-BootableSKU-NoSetup-merged-Package  
 set "prev=Microsoft-OneCore-BootableSKU-NoSetup-merged-Package"  
)  
Microsoft-OneCore-BootableSKU-NoSetup-merged-Package
 
B:\>(
if "!prev!" NEQ "Microsoft-OneCore-BootableSKU-NoSetup-merged-Package" echo Microsoft-OneCore-BootableSKU-NoSetup-merged-Package  
 set "prev=Microsoft-OneCore-BootableSKU-NoSetup-merged-Package"  
)  
 

mithridat1
virjokk  
 
Ваши варианты отработали отлично. Спасибо

Всего записей: 1265 | Зарегистр. 18-11-2006 | Отправлено: 13:40 10-09-2025
greeple

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

Код:
(for /f "usebackq tokens=1 delims=~" %%A in ("list.txt") do @echo %%A) | sort /unique > result.txt

 
Добавлено:
sakatgg
Цитата:
выриант ИИ выдал такое

странный какой-то
выше это тоже нейросеть
gpt 5 high например тут https://lmarena.ai/?mode=direct

Всего записей: 7743 | Зарегистр. 11-02-2020 | Отправлено: 13:42 10-09-2025
sakatgg

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

Код:
PS B:\> (for /f "usebackq tokens=1 delims=~" %%A in ("list.txt") do @echo %%A) | sort /unique > result.txt
for : The term 'for' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the s
pelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:2
+ (for /f "usebackq tokens=1 delims=~" %%A in ("list.txt") do @echo %%A ...
+  ~~~
    + CategoryInfo          : ObjectNotFound: (for:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
PS B:\>

 
У меня Win11 облегченная, может из-за этого. Сейчас проверить на полной нет возможности. Спасибо
 
P.S. На полной такая же ошибка
P.S.2 Ок, нормально в cmd отработал

Всего записей: 1265 | Зарегистр. 18-11-2006 | Отправлено: 14:01 10-09-2025 | Исправлено: sakatgg, 18:37 10-09-2025
greeple

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

это cmd bat, а не powershell
и это для .bat, а если из cmd открывать, то двойные проценты надо сделать одним символом
ты запустил в открытой powershell его

Всего записей: 7743 | Зарегистр. 11-02-2020 | Отправлено: 14:56 10-09-2025 | Исправлено: greeple, 14:57 10-09-2025
sakatgg

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть файл list.txt со списком, пример:

Код:
Microsoft-OneCore-Kernel-AppCore-Package
Microsoft-OneCore-Kernel-AppCore-WOW64-Package
Microsoft-OneCore-LibreSSL-Package
Microsoft-OneCore-Licensing-Package
Microsoft-OneCore-LSA-Package
Microsoft-OneCore-LSA-WOW64-Package

 
Есть шаблон:

Код:
        <package action="install">
            <assemblyIdentity name="******" version="10.0.26100.1" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" />
    <source location="******~31bf3856ad364e35~amd64~~10.0.26100.1.mum" />
        </package>

Необходимо каждую строку из list.txt вставить с заменой в поле ******
Чтобы получился такой вид :
 
list.xml
 
И если не сложно, в полученный файл добавить в начало:  

Код:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <servicing>

И в конец:

Код:
    </servicing>
</unattend>

Чтобы в итоге был стандарт формата xml
Спасибо.
 

Всего записей: 1265 | Зарегистр. 18-11-2006 | Отправлено: 10:35 17-09-2025 | Исправлено: sakatgg, 10:50 17-09-2025
FiLinX



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите
вот юзаю я портабле Supermium запуская с такого батника
и вот возможно ли прям в нём прописать как то, чтоб ярлык на него становился с иконкой главного запускаемого файла chrome.exe ?
или может если положить в ту же директорию ико файл как то сделать его подтяг? не знаю, либо на сам бат либо на ярлык..
но вобщем вы поняли)  чтоб вручную потом не назначать значёк для ярлыка

Всего записей: 3252 | Зарегистр. 05-05-2010 | Отправлено: 20:14 17-09-2025 | Исправлено: FiLinX, 20:15 17-09-2025
MaraGame24



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые скриптоделы
 
Как мне запустить программу через BAT по названию, не зависимо на каком диске она лежит ???
 
В батниках я не бум-бум...Желательно выложить полный вариант...

Всего записей: 2582 | Зарегистр. 25-11-2023 | Отправлено: 21:47 18-09-2025
virjokk



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FiLinX
На чистом cmd ярлык с выбранной иконкой не создашь. Можно на vbs или powershell.
Гибрид cmd+ps
Иконку можно рядом положить в ico-файле или даже хранить в самом скрипте в base64
Поправил параметр -EP Bypass по подсказке Simple Code

Всего записей: 502 | Зарегистр. 19-05-2006 | Отправлено: 00:13 19-09-2025 | Исправлено: virjokk, 09:02 19-09-2025
Simple Code



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
virjokk
 
Заметил что -EP Bp не работает.
На всякий случай, лучше полностью прописывать -EP Bypass.
Гифка
 

Цитата:
Как мне запустить программу через BAT по названию, не зависимо на каком диске она лежит ???

Если программа лежит в одной директории с батником, то можно так:
cd /d "%~dp0"
программа.ехе
~ или ~
"%~dp0программа.ехе"

Всего записей: 310 | Зарегистр. 19-11-2022 | Отправлено: 06:01 19-09-2025 | Исправлено: Simple Code, 06:18 19-09-2025
MaraGame24



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Simple Code
Цитата:
Как мне запустить программу через BAT по названию, не зависимо на каком диске она лежит ???

Цитата:
Если программа лежит в одной директории с батником, то можно так:
Нет...Прога лежит непонятно где на диске, нооо она точно есть )))
Т.е. у кого то на диске D:\ например, а у меня на диске Z:\...

Всего записей: 2582 | Зарегистр. 25-11-2023 | Отправлено: 08:33 19-09-2025 | Исправлено: MaraGame24, 08:35 19-09-2025
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MaraGame24 Одно дело, если прога лежит в корне диска. И совершенно другоен, если  закопана в каталогах. Предствь сколько будет идти поиск, если прога на шаре в 10 ТБ с 5 миллионами файлов?
Сузьте задачу иначе это нонсенс  то, что вы хотите. А лучше  примите другое решение и прога должна лежать на какой-либо отдельной шаре  с постоянным путём.  


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

Всего записей: 12315 | Зарегистр. 10-12-2003 | Отправлено: 08:56 19-09-2025
MaraGame24



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Simple Code
ipmanyak
Цитата:
Предствь сколько будет идти поиск,
Я попробую зарыть у себя глубоко прогу...
Главное результат...
 
По умолчанию она ставится в "C:\Program Files (x86)"...У меня зарыта на другом диске Z:\...И еще есть пару дисков )))

Всего записей: 2582 | Зарегистр. 25-11-2023 | Отправлено: 09:02 19-09-2025 | Исправлено: MaraGame24, 09:05 19-09-2025
BorlandIMHO

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

Цитата:
запустить программу через BAT по названию, не зависимо на каком диске она лежит ???

Для этого либо нужно найти программу там, где она лежит и запускать с путём (как вариант - перейти в папку с программой и запустить её оттуда), либо путь, по которому находится программа, должен присутствовать в переменной окружения PATH (тогда Win сама осуществит поиск и запустит первый найденный экземпляр программы).
Поиск программы по всем доступным дискам -  весьма ресурсоёмкая задача (если, конечно, диски не "практически пустые"). Зачастую существенно дешевле запустить программу с сетевого ресурса, не заморачиваясь поисками (или даже из тырьнета скачать и запустить).

Всего записей: 3096 | Зарегистр. 12-10-2006 | Отправлено: 09:32 19-09-2025
MaraGame24



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
Цитата:
(если, конечно, диски не "практически пустые")
Именно так...
На них мало чего есть )))

Всего записей: 2582 | Зарегистр. 25-11-2023 | Отправлено: 09:45 19-09-2025
Открыть новую тему     Написать ответ в эту тему

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru