Чтобы текстовый, графический или мультимедийный файл открывался в определенном приложении, достаточно изменить ассоциации расширения файла, связав его с нужной программой. А теперь представьте ситуацию, что вам нужно сделать так, чтобы в конкретном приложении открывался только один конкретный файл. Скажем, чтобы из множества открываемых по умолчанию «Кино и ТВ» видеофайлов MP4 только один открывался VLC.
А все остальные, как и прежде открывались встроенным плеером.
Конечно, можно кликнуть по файлу правой кнопкой мыши, выбрать в меню опцию «Открыть с помощью», но это не слишком удобно, особенно если файл приходится открывать часто.
Нет ли способа как-то упростить эту задачу?
Да, конечно есть и причем не один.
Например, можно создать батник, прописав в нем команду открытия файла, вот так:
@echo off
«C:Program FilesVideoLANVLCvlc.exe» «D: video.mp4»
Решение вполне рабочее, но есть проблема.
А что, если целевой файл будет перемещен в другую папку или раздел?
В этом случае скрипт придется значительно усложнить, прописав в нем условия поиска файла с указанным именем.
@echo off
setlocal enabledelayedexpansion
rem Define the file name to search for
set filename=video.mp4
rem Loop through all drives
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 Searching drive %%d:
for /r %%f in (%%d:%filename%) do (
set filepath=%%f
echo Found: !filepath!
goto :playvideo)
)
)
echo File %filename% not found on any drive.
goto :eof
:playvideo
rem Path to VLC executable
set vlcpath="C:Program FilesVideoLANVLCvlc.exe"
rem Play the video file
%vlcpath% «!filepath!»
:end
pause
Этот батник запускает рекурсивный поиск по буквам разделов и если находит указанный файл, открывает его в VLC.
Недостаток этого способа очевиден.
Во-первых, имя файла должно быть уникальным, во-вторых, процедура поиска будет занимать некоторое время, пусть и весьма незначительное. Но и это еще не все. А как быть, если вы имеете дело с UWP-приложением или та программа, в которой вы хотите открыть файл, не принимает путь к файлу в качестве аргумента командной строки? И вообще, можно ли обойтись без посредничества?
Перетаскивание
Ответ лежит на поверхности. Для открытия конкретного файла в нужной программе достаточно перетащить его на окно или ярлык приложения. Все элементарно, впрочем, если такое решение вас не устраивает, вот еще один способ, позволяющий открывать конкретный файл в нужном приложении обычным двойным кликом.
Подмена расширения
Замените расширение файла video.MP4 на какое-нибудь другое, но тоже мультимедийное, напрямую с «Кино и ТВ» и другими установленными на компьютере программами не связанное, например, на M2T.
Запустите файл с измененным расширением двойным кликом и выберите в предложенном списке ваш VLC, не забыв установить флажок в чекбоксе «Всегда использовать это приложение для открытия m2t файлов».
Если все мультимедийные расширения заняты, что крайне маловероятно, можете заменить MP4 на любое другое несуществующее расширение.
В этом случае Windows предложит вам только одно приложение для открытия файла – Microsoft Store – совершенно бесполезное. Поэтому вам нужно будет нажать в окошке «Еще приложения», прокрутить появившийся список до конца и нажать ссылку «Найти другое приложение на этом компьютере».
Далее останется указать путь к исполняемому файлу программы, которой станет открываться файл. Разумеется, в данном примере речь идет только о классических приложениях.