Портативная файловая ассоциация для флешек?
У меня есть USB-флешка с PortableApps, которую я ношу между разными местами.
Но одна вещь, которая меня раздражает, это когда я открываю файл (например, *.flv
или же *.html
), либо Windows говорит, что она не поддерживается, либо открывает программу, которую я не хочу использовать (например, Win.MP), в то время как у меня есть "правильная" программа (которую я хочу использовать) на моем USB-накопителе.
Есть ли переносимая программа, которая может связывать мои "неподдерживаемые" файлы, когда я выполняю только одну / несколько программ?
(Я собирался использовать ftype
а также assoc
в пакетном файле, но для этого требуются права администратора, так что это не лучшее решение.)
6 ответов
Я использую много портативных приложений, и я использую две программы, специально предназначенные для этого. Они оба делают одно и то же, но по-разному.
eXpresso (созданный с использованием AutoHotkey) перехватывает щелчки мыши и изменяет действие, чтобы открыть любую программу, с которой вы связываете тип файла.
Portable File Associator (созданный с использованием AutoIt) создает записи ассоциации файлов в кусте реестра HKCU, для которых не требуются права администратора, и его можно настроить для удаления их при выходе из программы. Я предпочитаю этот, так как он также может быть сделан, чтобы сделать записи и затем выйти без удаления ассоциаций, что полезно на моих собственных компьютерах (инструкции для более расширенного использования находятся в файле где-то в папке программы). То, как это работает, также позволяет определять значки для типов файлов. Когда вы загружаете эту программу, пароль для файла архива находится в имени файла.
Программы, созданные с использованием AutoIt и AutoHotkey, иногда могут быть помечены антивирусами как вирусы, поскольку с их помощью были созданы вирусы, но эти программы абсолютно безопасны.
Вот что я использую, что может быть слишком сложным:
- На USB-диске есть пакетный файл, который сопоставляет его папку с
Q:
или другая буква диска (subst Q: "%~dp0"
в принципе) - Используйте переносной проводник с пользовательскими ассоциациями файлов. Я использую FreeCommander; В разделе "Дополнения, Настройки, Программы" вы можете настроить собственные программы, которые будут открываться при нажатии F4 на ваших файлах, в зависимости от их расширения. Я нанес на карту 7z,zip,tar и т. Д. к 7zip-портативный например. Так что все, что вам нужно сделать, это установить редактор в
Q:\7z-portable\7zportable.exe
и это все.
Я предполагаю, что вы используете программное обеспечение, упакованное http://portableapps.com/. Пока мы ожидаем реализации сопоставления файлов, Xenon Portable может оказаться самым простым решением.
Вы можете использовать графический интерфейс для управления ассоциациями файлов...
или вы можете редактировать XenonPortable\Data\settings\assoc.ini
конфигурационный файл.
Формат выглядит следующим образом:
[<extension>]
icon=<image>.ico
exe=|XEDIR|\<path>
куда <path>
относительно XenonPortable
каталог.
Вы можете использовать стандартную команду assoc в пакетном скрипте (.bat) для сохранения, установки и сброса ассоциаций файлов.
Команда assoc может отображаться и связываться, например, в командной строке (cmd):
Команда также может установить файловую ассоциацию:
Вы можете создать следующие два файла.bat в корневой папке на USB-диске (или в другом месте). Эти пакетные файлы требуют наличия в той же папке файла с именем prefix, который вы создаете только один раз, используя блокнот и вводя строку "assoc ", без кавычек и с завершающим пробелом и (очень важно) без нажатия клавиши Enter (так что это не нет конца строки).
Первый файл.bat мы назовем myapps.bat, и его целью будет назначение новой ассоциации файлов после создания другого файла restore.bat, который вы будете использовать перед извлечением USB-диска для восстановления старых ассоциаций файлов.
Пример myapps.bat, чтобы установить ассоциации файлов html, abab и htm для myprog1.exe и т. Д.:
@echo off
echo @echo off >restore.bat
cmd /q /c doassoc html "%cd%\myprog1.exe"
cmd /q /c doassoc abab "%cd%\myprog2.exe"
cmd /q /c doassoc htm "%cd%\myprog3.exe"
del ftemp1
del ftemp
Переменная %cd%
обозначает текущий каталог, но вы также можете использовать %cd:~0,2%
который даст вам текущий диск (например, G:) вместе с любой другой относительной спецификацией файла на диске.
Файл doassoc.bat, который выполняет работу для одной ассоциации файлов, будет содержать:
echo assoc .%1= >ftemp1
assoc .%1 >nul
IF %ERRORLEVEL% NEQ 0 goto notfound
assoc .%1 >ftemp
copy /b /y prefix+ftemp ftemp1 >nul
:notfound
copy /b /y restore.bat+ftemp1 restore.bat >nul
assoc .%1=%2
Пример результата при запуске myapps.bat, за которым следует restore.bat:
Вы можете использовать переносной файловый менеджер XYplorer. Его последняя версия является коммерческой, но последняя бесплатная версия все еще доступна здесь.
Его переносимые файловые ассоциации могут связывать расширения файлов с приложениями и даже с пользовательскими сценариями:
Как уже упоминалось в paradroid, ранее вы могли использовать такие приложения, как (теперь уже не существующий) eXpresso или PortableFileAssociator, чтобы решить эту проблему. К сожалению, в Windows 8 больше невозможно временно установить ассоциации файлов.
Как объяснил Джон Т. Халлер - создатель PortableApps.com
Windows 8, 8.1 и 10 не позволяют приложениям настраивать ассоциации файлов, а затем возвращать их обратно, как мы планировали при разработке для Windows XP/Vista/7. Ассоциации должны проходить через ОС, а пользователю предлагается изменить их. Это сделано так, что приложения не могут украсть ассоциации, такие как установка себя в качестве браузера по умолчанию без вашего разрешения.