Зміна асоціацій розширень файлів


1

Який найпростіший спосіб постійно змінити асоціацію (програма, яка відкривається тощо) для декількох розширень файлів одночасно?

Що я маю на увазі?

Скажімо, ви досі використовували TextEditorUncool для відкриття файлів txt , dat , bat та abc . Тепер у вас вийшов TextEditorReallyCool, і ви хочете, якщо б була програма, яка зліва мала назву програми, а праворуч список розширень файлів, пов’язаних з нею (який, скажімо, відкривається).

Чи є таке?

Зазвичай програми змінюють цю річ під час встановлення (деякі навіть запитують раніше), але у випадку з портативними програмами, як правило, це потрібно зробити вручну, а для редакторів, які відкривають газильйон різних розширень файлів, це стає стомлюючим дуже швидко.

Всі ідеї вітали!

Відповіді:


1

Близько року тому я написав невеликий пакетний сценарій для вирішення такої проблеми асоціації текстових файлів. Я працюю більшу частину часу, але іноді (наприклад, після застосування оновлення Windows) асоціація відновиться до замовчування, якщо це сталося, я запускаю пакет ще раз.

Я вибрав 3 своїх улюблених текстових редактора в пакетному сценарії.

  • Notepad2 (або Notepad2-mod ) для легких текстових файлів. Каталог встановлення за замовчуванням:%SystemRoot%
  • Блокнот ++ для .sql .sh. Каталог встановлення за замовчуванням:%ProgramFiles%\Notepad++
  • EditPlus для більшості текстових файлів мови програмування. Каталог встановлення за замовчуванням:%ProgramFiles%\EditPlus 3

Вам потрібно змінити їх улюблений текстовий редактор, і вам потрібно змінити відповідні типи файлів на свої.

@echo off

echo --------------------------------------------------------------------------
echo Windows text file association
echo --------------------------------------------------------------------------

REM ----------------------------------------------------------------------------
REM References
REM ----------------------------------------------------------------------------
REM Windows file associations
REM http://vim.wikia.com/wiki/Windows_file_associations
REM
REM Managing Files from the Command Line - Assoc and Ftype
REM http://commandwindows.com/assoc.htm
REM
REM Adding Associations
REM http://winbeginners.com/articles/associations3.htm
REM
REM CClean scan result show some error about registry HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
REM
REM http://superuser.com/questions/212848/how-change-file-association
REM
REM Windows registry information for advanced users
REM http://support.microsoft.com/kb/256986
REM ----------------------------------------------------------------------------

REM setlocal enabledelayedexpansion 
set PROGRAM_DIR=%%ProgramFiles%%
if /i "%PROCESSOR_ARCHITECTURE%"=="AMD64" set PROGRAM_DIR=%%ProgramFiles(x86)%%

REM notepad2
set NOTEPAD2=%%SystemRoot%%\notepad2.exe

REM Notepad++
set NPP=%PROGRAM_DIR%\Notepad++\notepad++.exe
if not exist "%ProgramFiles%\Notepad++\notepad++.exe" set NPP=%NOTEPAD2%

REM EditPlus
set EDITPLUS=%PROGRAM_DIR%\EditPlus 3\editplus.exe
if not exist "%ProgramFiles%\EditPlus 3\editplus.exe" set EDITPLUS=%NPP%

REM ----------------------------------------------------------------------------
REM Text file
REM ----------------------------------------------------------------------------
assoc .csv=txtfile
REM CueSheet
assoc .cue=txtfile

REM ----------------------------------------------------------------------------
REM C/C++
REM ----------------------------------------------------------------------------
assoc .h=SourceCode.C
assoc .c=SourceCode.C
assoc .hpp=SourceCode.C
assoc .cpp=SourceCode.C
assoc .cxx=SourceCode.C
assoc .rc=SourceCode.C
assoc .inc=SourceCode.C
REM AMXModX Script
assoc .sma=SourceCode.C


REM ----------------------------------------------------------------------------
REM Java
REM ----------------------------------------------------------------------------
assoc .java=SourceCode.Java
REM BeanShell
assoc .bsh=SourceCode.Java
REM ZK Script
assoc .zs=SourceCode.Java

REM ----------------------------------------------------------------------------
REM C#
REM ----------------------------------------------------------------------------
assoc .cs=SourceCode.CSharp

REM ----------------------------------------------------------------------------
REM SQL
REM ----------------------------------------------------------------------------
assoc .sql=sqlfile

REM ----------------------------------------------------------------------------
REM Web
REM ----------------------------------------------------------------------------
REM assoc .css=CSSfile
REM assoc .html=htmlfile
REM assoc .htm=htmlfile
assoc .shtml=htmlfile
REM assoc .js=jsfile

assoc .htc=htcfile

assoc .zul=SourceCode.ZK.UI
assoc .zhtml=SourceCode.ZK.UI
assoc .jsp=SourceCode.JSP
assoc .jspx=SourceCode.JSP

assoc .php=SourceCode.PHP

assoc .asp=SourceCode.ASP
assoc .aspx=SourceCode.ASP


REM ----------------------------------------------------------------------------
REM Shell
REM ----------------------------------------------------------------------------
assoc .awk=SourceCode.Shell
assoc .sed=SourceCode.Shell
assoc .sh=SourceCode.Shell
assoc .ps=SourceCode.PowerShell

REM assoc .bat=batfile
REM assoc .cmd=cmdfile
REM 对于批处理文件,不修改默认关联,而仅仅修改“编辑”动作的关联

REM ----------------------------------------------------------------------------
REM Configuration
REM ----------------------------------------------------------------------------
REM assoc .ini=inifile
REM assoc .inf=inffile
assoc .cfg=cfgfile
assoc .conf=Configuration.POSIX
assoc .properties=Configuration.Java

assoc .svg=svgfile
REM reg add


REM ----------------------------------------------------------------------------
REM Misc
REM ----------------------------------------------------------------------------
REM assoc .dsn=ODBC.FileDSN
REM assoc .eml=Microsoft Internet Mail Message
REM assoc .hta=htafile
REM assoc .jnlp=JNLPFile
REM assoc .log=txtfile
assoc .m3u=m3ufile
REM assoc .mht=mhtmlfile
REM assoc .mhtml=mhtmlfile
REM assoc .nfo=MSInfo.Document
REM assoc .reg=regfile
REM assoc .rtf=rtffile
REM assoc .scp=txtfile
REM SELinux Targeted policy .te
assoc .te=txtfile
REM assoc .txt=txtfile
REM assoc .wsc=scriptletfile
REM assoc .WSF=WSFFile
REM assoc .WSH=WSHFile
REM assoc .wtx=txtfile
REM assoc .xaml=Windows.XamlDocument
REM assoc .xhtml=xhtmlfile
REM assoc .xml=xmlfile


call :np2_open txtfile inifile jsfile cfgfile Configuration.POSIX Configuration.Java
call :np2_edit batfile cmdfile jsfile WSFFile WSHFile regfile m3ufile ODBC.FileDSN "Microsoft Internet Mail Message"

call :ep_open cssfile xmlfile xslfile xsltfile SourceCode.C SourceCode.Java SourceCode.CSharp SourceCode.JSP SourceCode.PHP SourceCode.ASP SourceCode.ZK.UI
call :ep_edit xmlfile svgfile htmlfile xhtmlfile shtmlfile htafile htcfile rtffile JNLPFile

call :npp_open SourceCode.Shell SourceCode.PowerShell sqlfile

pause


goto :EOF

:np2_open
if "%~1"=="" goto :EOF
REM echo %NOTEPAD2%  [Open]  %1
ftype %1="%NOTEPAD2%" "%%1"
shift
goto np2_open

:np2_edit
if "%~1"=="" goto :EOF
echo %NOTEPAD2%  [Edit]  %1
reg add "HKLM\Software\Classes\%~1\shell\edit\command" /ve /t REG_EXPAND_SZ /f /d "\"%NOTEPAD2%\" \"%%1\""
shift
goto np2_edit


:npp_open
if "%~1"=="" goto :EOF
REM echo %NPP%  [Open]  %1
ftype %1="%NPP%" "%%1"
shift
goto npp_open

:npp_edit
if "%1"=="" goto :EOF
echo %NPP%  [Edit]  %1
reg add "HKLM\Software\Classes\%~1\shell\edit\command" /ve /t REG_EXPAND_SZ /f /d "\"%NPP%\" \"%%1\""
shift
goto npp_edit


:ep_open
if "%~1"=="" goto :EOF
REM echo %EDITPLUS%  [Open]  %1
ftype %1="%EDITPLUS%" "%%1"
shift
goto ep_open

:ep_edit
if "%~1"=="" goto :EOF
echo %EDITPLUS%  [Edit]  %1
reg add "HKLM\Software\Classes\%~1\shell\edit\command" /ve /t REG_EXPAND_SZ /f /d "\"%EDITPLUS%\" \"%%1\""
shift
goto ep_edit

Лю, це навіть краще, ніж те, що я мав на увазі. Встановити один раз, застосувати назавжди. Зараз досить пізно (4 ранку), але я спробую це спершу вранці!
Грак

0

Щоб змінити або створити асоціацію файлів зі списку Типи файлів

Якщо команда « Відкрити за допомогою» недоступна, спробуйте виконати наступні дії:
Клацніть Пуск , а потім клацніть Панель управління .
Клацніть Параметри папки .
Перейдіть на вкладку Типи файлів у вікні « Параметри папки», і будуть показані повні типи файлів та їх асоціація.
Клацніть Створити та введіть у поле Розширення файлу, а потім натисніть кнопку Додатково .
Виберіть асоціацію для типу файлу.
Натисніть кнопку ОК, а потім натисніть кнопку Закрити .
Відкрийте файл ще раз.


Чи не буде це досить повільно, якщо ви часто намагаєтесь змінити 30 розширень?
Грак

Ну, це швидше, ніж інший шлях ...
Імтемман

Гаразд, досить ярмарок ...
Грак

0

Деякі програми, які можуть стати в нагоді:

Щось інше, що цікавить (оскільки ви конкретно згадали про портативні програми), може бути Кава , яку можна використовувати для тимчасового відкриття всіх визначених типів файлів за допомогою ваших портативних програм. Так, наприклад, якщо у вас на USB-накопичувачі є портативний текстовий редактор, ви можете налаштувати Coffee (також на цій же палиці), щоб асоціювати розширення .txt з редактором. Таким чином, доки працює Coffee, файли .txt автоматично відкриються в портативному редакторі. Закрийте каву та вуаля, ваша .txt асоціація повернеться до того, що було раніше!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.