Портативная файловая ассоциация для флешек?

8

У меня есть флешка с PortableApps, которую я ношу между разными местами.

Но меня раздражает одна вещь: когда я открываю файл (например, *.flvили *.html), либо Windows говорит, что он не поддерживается, либо открывает программу, которую я не хочу использовать (например, Win.MP), в то время как у меня «правильный» "программа (которую я хочу использовать) на моем USB-накопителе.

Есть ли переносимая программа, которая может связывать мои «неподдерживаемые» файлы, когда я выполняю только одну / несколько программ?

(Я собирался использовать ftypeи assocдля командного файла, но для этого требуются права администратора, так что это не кажется лучшим решением.)

auroranil
источник

Ответы:

6

Я использую много портативных приложений, и я использую две программы, специально предназначенные для этого. Они оба делают одно и то же, но по-разному.

eXpresso (созданный с использованием AutoHotkey ) перехватывает щелчки мыши и изменяет действие, чтобы открыть любую программу, с которой вы связываете тип файла.

Portable File Associator (созданный с использованием AutoIt ) создает записи ассоциации файлов в кусте реестра HKCU, для которых не требуются права администратора, и его можно настроить для удаления их при выходе из программы. Я предпочитаю этот, так как он также может быть сделан, чтобы сделать записи и затем выйти без удаления ассоциаций, что полезно на моих собственных компьютерах (инструкции для более расширенного использования находятся в файле где-то в папке программы). То, как это работает, также позволяет определять значки для типов файлов. Когда вы загружаете эту программу, пароль для файла архива находится в имени файла.

Программы, созданные с использованием AutoIt и AutoHotkey, иногда могут быть помечены антивирусами как вирусы, поскольку с их помощью были созданы вирусы, но эти программы абсолютно безопасны.

Paradroid
источник
Аналогичные программы - PEM (Portable Extension Manager) , Portable Extension Warlock .
Каран
Ссылка на скачивание не работает. Любая идея, где я могу найти рабочую копию?
Кейслингер
К сожалению, в Windows 8 это решение больше не работает
Stevoisiak
5

Вот что я использую, что может быть слишком сложным:

  • На USB-диске есть пакетный файл, который сопоставляет его папку с той Q:или иной буквой (в subst Q: "%~dp0"основном)
  • Используйте переносной проводник с пользовательскими ассоциациями файлов. Я использую FreeCommander; В разделе «Дополнения, Настройки, Программы» вы можете настроить собственные программы, которые будут открываться при нажатии F4 на ваших файлах, в зависимости от их расширения. Я нанес на карту 7z, zip, tar и т. Д. к 7zip-портативный например. Так что все, что вам нужно сделать, это установить редактор Q:\7z-portable\7zportable.exeи все.
Benoit
источник
Добавление +1 для хорошего ответа. Но возможно ли сделать это проще? Или вы можете объяснить свой ответ более подробно о том, как / почему сопоставить папку с `Q:` или другим диском?
Авроранил
2
@ user824294 Я бы предположил, что это позволяет ему сохранять статичность своих ассоциаций. Они всегда идут Q:\myprogram.exeвместоdifferent_every_time:\myprogram.exe
Der Hochstapler
@ Оливер Зальцбург: я не мог сказать это лучше.
Бенуа
В этом нет необходимости, вы можете указывать пользовательские ассоциации файлов в FreeCommander, используя относительные пути к исполняемому файлу Freecommander, это означает, что они полностью устойчивы к изменениям букв дисков. Вам вообще не нужны махинации.
Дуарте Фарражота Рамос
3

Вы можете использовать стандартную команду assoc в пакетном скрипте (.bat) для сохранения, установки и сброса ассоциаций файлов.

Команда assoc может отображаться и связываться, например, в командной строке (cmd):

image1

Команда также может установить файловую ассоциацию:

image2

Вы можете создать следующие два файла .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:

image3

harrymc
источник
1
Потрясающие. Но не могли бы вы убедиться, что для этого не требуются права администратора? +50 если нет.
Авроранил
Извините, я проверял это с отключенным UAC. Assoc требует прав администратора.
Harrymc
Я бы удалил это, за исключением того, что это может все еще быть полезным для кого-то. Не утруждайте себя недооценкой.
Harrymc
3

Я предполагаю, что вы используете программное обеспечение, упакованное PortableApps.com . Пока мы ожидаем реализации сопоставления файлов , Xenon Portable может оказаться самым простым решением.

Вы можете использовать графический интерфейс для управления ассоциациями файлов ...

настройки

редактор

или вы можете редактировать XenonPortable\Data\settings\assoc.iniфайл конфигурации.

Формат следующий:

[<extension>]
icon=<image>.ico
exe=|XEDIR|\<path>

Где <path>это относительно XenonPortableкаталога.

iglvzx
источник
2

Вы можете использовать переносной файловый менеджер XYplorer . Его последняя версия является коммерческой, но последняя бесплатная версия все еще доступна здесь .

Его переносимые файловые ассоциации могут связывать расширения файлов с приложениями и даже с пользовательскими сценариями:

образ

harrymc
источник
1

Как уже упоминалось в paradroid , ранее вы могли использовать такие приложения, как (теперь уже не существующий) eXpresso или PortableFileAssociator, чтобы решить эту проблему. К сожалению, в Windows 8 больше невозможно временно установить ассоциации файлов.

Как объяснил Джон Т. Халлер - создатель PortableApps.com

Windows 8, 8.1 и 10 не позволяют приложениям настраивать ассоциации файлов, а затем возвращать их обратно, как мы планировали при разработке для Windows XP / Vista / 7. Ассоциации должны проходить через ОС, когда пользователю предлагается изменить их. Это сделано так, что приложения не могут украсть ассоциации, такие как установка себя в качестве браузера по умолчанию без вашего разрешения.

Stevoisiak
источник