У меня есть USB-накопитель с PortableApps, который я ношу с собой в разные места.
Но меня раздражает одна вещь: когда я открываю файл (например, *.flv
или *.html
), Windows либо сообщает, что он не поддерживается, либо открывает программу, которую я не хочу использовать (например, Win.MP), хотя у меня на USB-накопителе есть «правильная» программа (которую я хочу использовать).
Есть ли какая-нибудь портативная программа, которая может связать мои «неподдерживаемые» файлы, когда я запускаю только одну/несколько программ?
(Я собирался использовать ftype
и assoc
в пакетном файле, но для этого требуются права администратора, так что это, похоже, не лучшее решение.)
решение1
Я использую много портативных приложений, и я использую две программы, специально созданные для этого. Они обе делают одно и то же, но по-разному.
еXpresso(сделано с использованиемAutoHotkey) перехватывает щелчки мыши и изменяет действие, открывая ту программу, с которой вы ассоциируете тип файла.
Портативный файловый ассоциатор(сделано с использованиемАвтоИт) создает записи ассоциаций файлов в улье реестра HKCU, для чего не нужны права администратора, и ее можно настроить на удаление их при выходе из программы. Я предпочитаю этот вариант, так как его также можно настроить на создание записей и выход без удаления ассоциаций, что полезно на моих компьютерах (инструкции по более продвинутому использованию находятся в файле где-то в папке программы). Способ работы также позволяет вам определять значки для типов файлов. Когда вы загружаете эту программу, пароль для файла архива находится в имени файла.
Программы, созданные с использованием AutoIt и AutoHotkey, иногда могут быть помечены антивирусными программами как вирусы, поскольку вирусы были созданы с их помощью, но эти программы абсолютно безопасны.
решение2
Вот что использую я (возможно, это слишком сложно):
- Иметь на USB-накопителе пакетный файл, который сопоставляет его папку с той
Q:
или иной буквой диска (subst Q: "%~dp0"
в основном) - Используйте портативный проводник с пользовательскими ассоциациями файлов. Я использую FreeCommander; в разделе «Дополнительно, Настройки, Программы» вы можете задать пользовательские программы, которые будут открываться при нажатии F4 на ваших файлах, в зависимости от их расширения. Например, я сопоставил 7z,zip,tar и т. д. с 7zip-portable. Так что все, что вам нужно сделать, это установить редактор на
Q:\7z-portable\7zportable.exe
и все.
решение3
Вы можете использовать стандартныйассоц.команда в пакетном скрипте (.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:
решение4
Вы могли бы использоватьXYplorerПортативный файловый менеджер. Последняя версия является коммерческой, но последняя бесплатная версия все еще доступна наздесь.
ЕгоАссоциации переносимых файловможет связывать расширения файлов с приложениями и даже с написанными пользователем скриптами: