我有一個帶有 PortableApps 的 U 盤,我在不同的地方隨身攜帶。
但讓我煩惱的一件事是,當我打開一個檔案(例如*.flv
或*.html
)時,Windows 要么說它不受支持,要么打開一個我不想使用的程式(例如Win.MP),而我有「正確的」我的 USB 隨身碟上的「程式(我想使用)。
當我只執行一個/幾個程式時,是否有任何便攜式程式可以關聯我的「不受支援」的檔案?
(我打算在批次檔上使用ftype
and assoc
,但它需要管理員權限,所以這似乎不是最好的解決方案。)
答案1
我使用了很多便攜式應用程序,並且使用了兩個專門為此設計的程式。他們都做同樣的事情,但方式不同。
濃縮咖啡(使用自動熱鍵) 攔截滑鼠點選並變更開啟與該檔案類型關聯的程式的操作。
便攜式文件關聯器(使用自動它)在 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) 中:
該指令還可以設定檔案關聯:
您可以在 USB 磁碟(或其他位置)的根資料夾中建立以下兩個 .bat 檔案。這些批次檔要求在同一資料夾中存在一個名為prefix 的文件,您只需使用記事本創建一次該文件並鍵入字串“assoc”,不帶引號並以空白結尾並且(非常重要)不按Enter 鍵(因此它不會沒有行尾)。
我們將第一個 .bat 檔案命名為 myapps.bat,其用途是在建立另一個您將在彈出 USB 磁碟之前使用的 Restore.bat 檔案之後指派新的檔案關聯,以還原舊的檔案關聯。
範例 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 時的結果範例如下: