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

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

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

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

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MaraGame24
Цитата:
По умолчанию она ставится в "C:\Program Files (x86)"
Если путь точно такой же, только диск другой то примерно так:
Код:
@echo off
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist "%%a:\Program Files (x86)\Proga\start.exe" set "drv=%%a"
if defined drv (
  start "" "%drv%:\Program Files (x86)\Proga\start.exe"
) else (
  echo "Program not found!"
)


Всего записей: 496 | Зарегистр. 19-05-2006 | Отправлено: 11:06 19-09-2025
MaraGame24



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
virjokk
Цитата:
Если путь точно такой же, только диск другой то примерно так:
Не работает...
Искать надо прогу по названию (Файл.ехе)...Без путей...

Всего записей: 2415 | Зарегистр. 25-11-2023 | Отправлено: 11:20 19-09-2025
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MaraGame24
Похоже, вы что-то недоброе затеяли.

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

Всего записей: 4404 | Зарегистр. 18-04-2005 | Отправлено: 11:29 19-09-2025
greeple

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MaraGame24
Цитата:
Именно так...
На них мало чего есть )))

если надо найти то ок, а запускать каждый раз через поиск это странная хрень
MaraGame24
Цитата:
Т.е. у кого то на диске D:\ например, а у меня на диске Z:\...

т.е. ты хочешь дать его кому-то чтобы он запускал прогу сразу, первую попавшуюся, которая найдётся? их же может быть несколько и откроется не та, которая нужна
ищи Everything`ом все и потом уже запускай
там кстати и из cmd есть запуск https://www.voidtools.com/ru-ru/support/everything/command_line_interface/
 
есть https://ab57.ru/cmdlist/where.html пример WHERE /R C:\ myfile.doc  
можно сделать по каждому диску в цикле такой запрос
 

Код:
@echo off
chcp 65001
if "%~1"=="" (
    echo Использование: %~nx0 имя_файла
    exit /b
)
 
for %%D in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    if exist "%%D:\" (
        echo --- Поиск на диске %%D: ---
        where /R %%D:\ "%~1"
    )
)

просто поиск по дискам, запуск с аргументом названия программы типа f.bat chrome.exe
 
вот с запуском вариант (кстати ищет довольно быстро, судя по выводу, несколько разных вариантов проверял было медленно)
Использование:
    findprog.bat chrome.exe поиск всех chrome.exe на дисках
    findprog.bat /run chrome.exe запуск первого найденного
 
обходит папки $RECYCLE.BIN, .cache, свои можно добавить через ;
Подробнее...

Всего записей: 7593 | Зарегистр. 11-02-2020 | Отправлено: 14:00 19-09-2025 | Исправлено: greeple, 15:22 19-09-2025
MaraGame24



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greeple
Чёёё то не работает...
На другом сайте все мне сделали...
Если кому надо тооо вот--->>>  Подробнее...
"File.exe" поменяйте на своё название...

Всего записей: 2415 | Зарегистр. 25-11-2023 | Отправлено: 14:12 19-09-2025
greeple

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

у меня работает
такой как тебе дали тоже проверял, но он долго проходит по всем папкам (хотя твой вроде не сильно дольше)
твой заходит в корзину https://a.i.getapic.me/nafg.png

Всего записей: 7593 | Зарегистр. 11-02-2020 | Отправлено: 15:18 19-09-2025
MaraGame24



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greeple
Цитата:
твой заходит в корзину
Заходит...Нооо у меня она отрублена...С диска все удаляется минуя корзину )))

Всего записей: 2415 | Зарегистр. 25-11-2023 | Отправлено: 15:21 19-09-2025
greeple

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

ты же писал про других пользователей
 
Добавлено:
ну ладно, забей

Всего записей: 7593 | Зарегистр. 11-02-2020 | Отправлено: 15:24 19-09-2025
MaraGame24



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greeple
 
Этот батник должен запускаться раз в 30 дней...За год 12 раз всего...
Так что потерпят другие пользователи )))
Нечего хлам хранить на компе )))

Всего записей: 2415 | Зарегистр. 25-11-2023 | Отправлено: 15:26 19-09-2025 | Исправлено: MaraGame24, 15:28 19-09-2025
greeple

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

Всего записей: 7593 | Зарегистр. 11-02-2020 | Отправлено: 15:30 19-09-2025
Simple Code



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

Всего записей: 308 | Зарегистр. 19-11-2022 | Отправлено: 16:07 19-09-2025 | Исправлено: Simple Code, 16:10 19-09-2025
DeZz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я не могу юзать rar.exe - только встроенные средства Win10+
можно ли в таком случае распаковать rar sfx (из ком.строки в нужный путь) ?

Всего записей: 1382 | Зарегистр. 23-01-2006 | Отправлено: 16:15 23-09-2025
DimmY



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DeZz
Ключ -d<путь>

Всего записей: 5053 | Зарегистр. 22-04-2002 | Отправлено: 16:28 23-09-2025
DeZz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DimmY
да, он подставил путь - но нужно сразу распаковать без подтверждения в ГУИ
 
upd: -s все понял

Всего записей: 1382 | Зарегистр. 23-01-2006 | Отправлено: 16:51 23-09-2025 | Исправлено: DeZz, 16:55 23-09-2025
skipik



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги, просьба помочь.
 
Есть вот такой набор папок (все они лежат внутри одного каталога, не раскиданы по диску):
 
Подробнее...
 
где в названии каждой содержится указание года между двумя знаками "-", например, 2019 или 1997. Нужен cmd-скрипт, который сделает перемещение (move) папки (самой папки, не содержимого), где указан 2019 год, в папку с именем 2019, и так каждый год-каталог соответственно. Ну и на всякий случай условие, что если "2019" нет, то создаём "2019" и т.п.
ИИ выдал какие-то нерабочие варианты. Заранее спасибо!

Всего записей: 4839 | Зарегистр. 07-07-2006 | Отправлено: 19:13 26-09-2025
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skipik  
>перемещение (move) папки (самой папки, не содержимого), где указан 2019 год, в папку с именем 2019,
Папку перемещаем, а само содержимое, то есть сами файлы куда девать?  Если точно выполнить ваше условие, то нужно просто пройтись по подкаталогам, выцепить год в названии, и если такого каталога где-то там нет ( где кстати?), то создать такой каталог. Всё верно? Если нет, значит постановка вашей задачи корявая.

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

Всего записей: 12272 | Зарегистр. 10-12-2003 | Отправлено: 04:55 27-09-2025
virjokk



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skipik
Если я правильно понял задачу - раскидать альбомы разных лет по папкам соответствующего года выхода:
Код:
$list = gci 'C:\music' -dir | ?{$_.Name -match "-(\d{4})-"} | %{@{$($_.FullName)=$($(Split-Path $_.FullName)+'\'+$matches[1])}}
$list | %{if (-not[IO.Directory]::Exists($_.values)) {ni $_.values -it dir};move $_.keys $_.values}
Это на PS, а батником наверное другие подскажут

Всего записей: 496 | Зарегистр. 19-05-2006 | Отправлено: 06:46 27-09-2025 | Исправлено: virjokk, 07:32 27-09-2025
skipik



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

Цитата:
Папку перемещаем, а само содержимое, то есть сами файлы куда девать?

Извиняюсь, конечно же вместе с содержимым.
 
virjokk
"раскидать альбомы разных лет по папкам соответствующего года выхода" -- точно, именно это и требуется. Большое спасибо за скрипт, отработал корректно! Главное, что инструмент теперь есть, и он рабочий, смысла переписывать батником нет.

Всего записей: 4839 | Зарегистр. 07-07-2006 | Отправлено: 11:37 27-09-2025
Kero1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть какая-то програмка консольная, что удаляет сразу все каталоги что соответствуют определённой маске типа 1234*5678?0  ?

Всего записей: 2820 | Зарегистр. 23-08-2011 | Отправлено: 23:11 29-09-2025 | Исправлено: Kero1, 23:14 29-09-2025
BorlandIMHO

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

Цитата:
...удаляет сразу все каталоги что соответствуют определённой маске

"Сразу все" - не бывает. Оно всё работает последовательно, по одному каталогу...
Более того, непустые каталоги перед удалением ещё и очищаются от содержимого (опять же последовательным удалением Оного). В любом случае быстро это будет - только на пустом SSD...
Алгоритм несложный:  посредством for (или forfiles) применить команду rd к каждому соответствующему маске каталогу. Или на поше через foreach применить к ним же командлет Remove-Item (который даже алиас "rd" имеет).

Всего записей: 3084 | Зарегистр. 12-10-2006 | Отправлено: 23:47 29-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

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