|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Выполнить действие для текущего файла |
|
CMD/BAT - [решено] Выполнить действие для текущего файла
|
Новый участник Сообщения: 12 |
Добрый день.
Помогите пожалуйста. Имеется BATник выполняющий функцию слияния одноименных файлов звука .m4a и видео .mp4, например луна.mp4 склеится с луна.m4a на выходе будет луна.mkv @ECHO OFF for %%f in ("*.mp4") do mkvmerge.exe --output "%%f.mkv" ( "%%~nf.m4a" ) --no-audio --no-subtitles --no-attachments ( "%%f" ) --track-order 1:0,0:0 :end Очень бы хотелось сделать удаленно лежащий батник, и для него ярлык положить например в папку контекстного меню "Отправить...". Т.е. чтоб правой кнопкой например по видеосодержащему файлу .mp4 ПКМ - Отправить - Батник и пошел процесс слияния даже если батник не лежит в текущей папке. Если я сильно много хочу, то как вариант мне также нормальным кажется временное копирование батника в папку с текущим файлом, для которого я сделал ПКМ - Отправить - БАТник. Т.е. лежит батник с вышеуказанным кодом на диске "c:\Program Files\K-Lite Codec Pack\Filters\ffmpeg\mkv.bat" Ярлык для него лежит в "c:\Users\Пользователь\AppData\Roaming\Microsoft\Windows\SendTo\mkv.ink" По случайному файлу, лежащему например в D:\Temp2\луна.mp4 (само собой и аудио файл скорее всего там лежит луна.m4a), ПКМ - Отправить - Батник - батник копирует получается сам себя mkv.bat в эту папку с файлом (папку чтоб определяло просто как текущую, а не именно D:\Temp2\) - выполняется - самоудаляется из текущей папки |
|
Отправлено: 11:47, 19-09-2020 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Fors1k
запустил PowerShell, вставил код, путь примерно следующий указав оставил для пути только ваши скобки. Получаю следующий результат. http://forum.oszone.net/attachment.p...1&d=1600713934 megaloman помогите пожалуйста облагородить этот код, режет все файлы с соответствующими расширениями в папке откуда запускается батник. избавится от привязки к конкретной папке, чтоб например можно было через ярлык SendTo запустить на любом файле. |
Отправлено: 21:45, 21-09-2020 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата A555555:
|
|
Отправлено: 23:26, 21-09-2020 | #12 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата A555555:
|
|
------- Отправлено: 08:43, 22-09-2020 | #13 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать megaloman
когда нужно склеить, то в папке скорее всего одни кандидаты будут и не страшно, что в ней много других фалов, одинаковость имени склеиваемых хорошо отсеивает ненужные. А вот для случая "порезать" файл под FAT32 флешку нет особенно ограничителей типа одноименности и в итоге например в папке куда я качаю торренты может быть очень много mkv и т.п., но порезать нужно конкретный. Просто вставив свой код в ваш, работает, но в инете особенно не принято одиночные файлы видео класть в отдельную папку при раздаче. А копировать в стронку крупные файлы или при скачивании городить каждому свою папку грустный вариант. У меня есть украденный из интернета код под ffdshow, он перекодированием через ярлык в "Отправить" занимается именно указанного файла. @ECHO OFF IF %1.==. ( ECHO [-------------- SendTo FFmpeg converter ---------------] ECHO [ NO FILE SPECIFIED ] ECHO [------------------------------------------------------] ) ELSE ( "c:\Program Files\K-Lite Codec Pack\Filters\ffmpeg\ffmpeg.exe" -i %1 -c:v libx264 -pix_fmt yuv420p -preset slow -crf 26 -y %1_[COPY].mp4 ECHO [-------------- SendTo FFmpeg converter ---------------] ECHO [ SERVED ] ECHO [------------------------------------------------------] ) :end |
Последний раз редактировалось A555555, 22-09-2020 в 19:43. Отправлено: 19:12, 22-09-2020 | #14 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Цитата Fors1k:
При попытке в общей папке указать како-то файл проходится по всем отвечающим нужному расширению с ошибкой для каждого http://forum.oszone.net/attachment.p...1&d=1600792807 Попробовал и в тепличных условиях, вынеся в отдельную папку одноименные видео и аудио для склейки, тоже не нравится http://forum.oszone.net/attachment.p...1&d=1600792689 |
|
Отправлено: 19:38, 22-09-2020 | #15 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать |
Отправлено: 19:47, 22-09-2020 | #16 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Fors1k,
уже положил программу по изначально данному вами пути, чтоб хоть этот момент с русскими буквами и пробелами не влезал http://forum.oszone.net/attachment.p...1&d=1600794368 |
Отправлено: 20:07, 22-09-2020 | #17 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать A555555,
Вывод каких-то команд лучше выкладывайте текстом, а не скриншотом. У вас MKVmerge.exe в 'C:\soft\mkvmerge.exe' или в 'd:\Temp2\Windows и сеть\Windows установка\Обновления и настройки\MKV\MKVtoolnix\mkvmerge.exe' ? На всякий случай покажите вывод $host.Version . |
Отправлено: 21:55, 22-09-2020 | #18 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Fors1k,
Цитата Fors1k:
Цитата:
Цитата Fors1k:
'C:\soft\mkvmerge.exe' чтоб точно не мешались сюда ещё пути. |
|||
Отправлено: 22:13, 22-09-2020 | #19 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата A555555:
|
|
Отправлено: 23:58, 22-09-2020 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Выполнить действие при наличии определенных файлов в папках | alexfeel30 | Скриптовые языки администрирования Windows | 1 | 03-03-2019 22:18 | |
2007 - [решено] Excel. В зависимости от цвета заливки выполнить действие. | vlad20 | Microsoft Office (Word, Excel, Outlook и т.д.) | 1 | 27-08-2012 14:21 | |
Выполнить действие по отсутствию цвета | deffol | AutoIt | 3 | 14-08-2011 01:32 | |
Как получить имя текущего пользователя для использования его в имени файла | Denchik | Автоматическая установка Windows 2000/XP/2003 | 1 | 25-01-2006 22:33 |
|