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

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

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

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

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

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

Код:
@echo off
pushd %~dp0
chcp 65001>nul
(
  echo sel vdisk file="%~dp0W.VHD"
  echo attach vdisk
  echo sel part 1
  echo assign letter=W
) | diskpart
pause


Всего записей: 11936 | Зарегистр. 30-04-2006 | Отправлено: 00:22 15-09-2024 | Исправлено: shok, 00:34 15-09-2024
MaraGame24



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shok
Тоже сработало на УРА !!! на разных системах.
Всем огромное спасибо за отличную работу

Всего записей: 799 | Зарегистр. 25-11-2023 | Отправлено: 00:50 15-09-2024
oval2003



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеется exe-файл.
Каким образом его можно пропатчить, т.е. заменит hex-значения? (не использую ручную правку через hex-редактор)
 
1)
80 99 00 00 00 XX 06 00 80
изменить на
80 99 00 00 00 YY 06 00 80
 
и
 
2)
80 a9 00 00 00 YY 07 00 80
изменить на
80 a9 00 00 00 XX 07 00 80
 
Т.е. взять значения YY со второй последовательности и подсуноуть для первой последовательности. А для второй подсунуть XX взятое у первой последовательности
 
P.S. Либо может подскажите с помощью какой программы для создания патчеров типа "dup2" можно сделать такое?

Всего записей: 4667 | Зарегистр. 08-07-2006 | Отправлено: 18:46 16-09-2024 | Исправлено: oval2003, 10:02 17-09-2024
www_world

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

Цитата:
Каким образом его можно пропатчить, т.е. заменит hex-значения?

Это делается любом hexредакторе (но рекомендую вам именно WinHex, как имеющий некоторые очень специальные возможности, которых нет у др. редакторов. Сейчас они вам без разницы, но, в будущем, если вам придется их использовать, то случай этот будет крайним и очень важным для вас и будет лучше, что вы хотябы немножко держали в руках этот редактор)
Старина используемой версии редактора значения не имеет - и в 20-летней давности версии - все нужное есть. Поэтому можно использовать версии для которых есть ключеделки, а не ломалки.
Бросили файл на окно программы, Поиск - Заменить Hex значения. Заполняете

3F - маска поиска, иначе говоря, обозначает любой байт  
Повторяете, тоже самое с другой парой.
Сначала можете потренироваться просто искать (Поиск - Поиск Hex данных).

Всего записей: 494 | Зарегистр. 04-11-2018 | Отправлено: 20:10 16-09-2024
shok

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oval2003
это возможно. PS.
как-то так
 

 
 

Всего записей: 11936 | Зарегистр. 30-04-2006 | Отправлено: 08:17 17-09-2024 | Исправлено: shok, 08:19 17-09-2024
oval2003



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

Цитата:
Это делается любом hexредакторе

)))
Я не про это писал. Как пользоваться hex-редактором я в курсе.
Я задал вопрос по автоматизации процесса... Т.е. имел ввиду создание унипатчера
 
Добавлено:
shok

Цитата:
это возможно. PS.

Можно попросить структуру кода PS сюда или скорее в личку?

Всего записей: 4667 | Зарегистр. 08-07-2006 | Отправлено: 09:59 17-09-2024
www_world

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oval2003
найти
(\x80\x99\x00\x00\x00)(.)(\x06\x00\x80.*\x80\xa9\x00\x00\x00)(.)(\x07\x00\x80)
заменить на
\1\4\3\2\5
 
PowerShell -ExecutionPolicy Bypass -C "(Get-Content ‘x:\Some_Path\Your_file.exe’) -replace(‘(\x80\x99\x00\x00\x00)(.)(\x06\x00\x80.*\x80\xa9\x00\x00\x00)(.)(\x07\x00\x80)’, ‘$1$4$3$2$5’) | Set-Content ‘x:\Some_Path\Your_file.exe’

Всего записей: 494 | Зарегистр. 04-11-2018 | Отправлено: 10:53 17-09-2024 | Исправлено: www_world, 11:48 17-09-2024
Fenrizz



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

Цитата:
Я не про это писал. Как пользоваться hex-редактором я в курсе.
Я задал вопрос по автоматизации процесса... Т.е. имел ввиду создание унипатчера  

Думаю, эта утилита поможет - https://sourceforge.net/projects/bincmp/files/latest/download

Всего записей: 690 | Зарегистр. 12-09-2017 | Отправлено: 12:43 17-09-2024
shok

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

Всего записей: 11936 | Зарегистр. 30-04-2006 | Отправлено: 15:54 17-09-2024
MaraGame24



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И еще раз здравствуйте Уважаемые скриптоделы...
 
По скольку я в bat\cmd ни бум-бум.
Подскажжите пожалуйста, можно ли с помощью BAT ника сделать принудительное расжатие NTFS папки %Temp% (с проверкой если не сжата то проехать мимо), даже если она перенесена на другой диск (например с помощью PrimoRD), и без перезагрузки системы (PrimoRD просит перезагрузить) ????
Опять же нужен готовый вариант BAT файла, если не затруднит.

Всего записей: 799 | Зарегистр. 25-11-2023 | Отправлено: 18:18 18-09-2024 | Исправлено: MaraGame24, 18:23 18-09-2024
Pasha_ZZZ



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

Цитата:
compact /u /i /q /a /s:"%TEMP%"

Всего записей: 12816 | Зарегистр. 11-03-2002 | Отправлено: 18:37 18-09-2024 | Исправлено: Pasha_ZZZ, 18:37 18-09-2024
MaraGame24



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
Отлично сработало. И на PRD тоже без перезагрузки.


Всего записей: 799 | Зарегистр. 25-11-2023 | Отправлено: 18:41 18-09-2024 | Исправлено: MaraGame24, 18:46 18-09-2024
351878



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

Код:
@echo off
TITLE hstack
cd /d %~dp0
 
cls
SetLocal EnableDelayedExpansion
 
echo.
set /p video2="Enter second video path: "
set "input2=%video2:\=%"
set "input2=C\\:/!input2:~2!"
 
set "input=%~1"
set "input=%input:\=%"
set "input=C\\:/!input:~2!"
 
ffplay -hide_banner -an -f lavfi "movie=!input!,scale=iw/2:ih[v0];movie=!input2!,scale=iw/2:ih[v1];[v0][v1]hstack"
 
pause

 
команда ffplay требует чтоб пути выглядели вот так C\\:/input дроплет работает только если файло лежит в корне.
выше попытка привести их к такому виду. но беда в том что если пути длинные то слешей в них не будет, только вначале. объяснять что то мне практически бесполезно ли готовый вариант, либо -ничем помочь не можем)

Всего записей: 1212 | Зарегистр. 28-03-2016 | Отправлено: 20:08 21-09-2024
virjokk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
351878
Если я правильно понял, что вам требуется, то так:

Код:
@echo off
TITLE hstack
cd /d %~dp0
 
cls
SetLocal EnableDelayedExpansion
 
echo.
set /p video2="Enter second video path: "
set "input2=%video2:\=/%"
set "input2=!input2:~0,1!\\:!input2:~2!"
 
set "input=%~1"
set "input=%input:\=/%"
set "input=!input:~0,1!\\:!input:~2!"
 
ffplay -hide_banner -an -f lavfi "movie=!input!,scale=iw/2:ih[v0];movie=!input2!,scale=iw/2:ih[v1];[v0][v1]hstack"
 
pause

Всего записей: 330 | Зарегистр. 19-05-2006 | Отправлено: 20:53 21-09-2024
351878



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
virjokk -о да.  
Приятного тебе вечера, дружише!

Всего записей: 1212 | Зарегистр. 28-03-2016 | Отправлено: 22:22 21-09-2024
Death_INN

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

Всего записей: 3570 | Зарегистр. 24-10-2002 | Отправлено: 21:25 28-09-2024
Roman_Hayretdinov



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можете потестить, какой способ быстрее?

Код:
rundll32 ADVPACK.dll,DelNodeRunDLL32 "полный путь к папке\имя папки"

Код:
rd /s /q папка

Всего записей: 104 | Зарегистр. 19-12-2021 | Отправлено: 21:51 28-09-2024 | Исправлено: Roman_Hayretdinov, 21:51 28-09-2024
Death_INN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Roman_Hayretdinov, рам диск
26,92 сек
18,83 сек
С rd быстрее, но перепроверю когда систему перезагружу, а то может кеш повлиял.
Хотя нет, повторное удаление с rundll заняло 27,32 сек

Всего записей: 3570 | Зарегистр. 24-10-2002 | Отправлено: 22:27 28-09-2024 | Исправлено: Death_INN, 22:36 28-09-2024
metatrop

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Death_INN
Чтобы файловый кэш Windows не влиял на замеры, существует uncache.exe (в "большом архиве" из шапки), которая сбрасывает его на указанных буквах разделов.

Всего записей: 327 | Зарегистр. 17-09-2010 | Отправлено: 02:14 29-09-2024
FiLinX



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а в тотал-коммандере когда "выделить всё" и на Shift+F8  -  каким способом удаляет?

Всего записей: 2400 | Зарегистр. 05-05-2010 | Отправлено: 13:02 29-09-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

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