Changer les associations d'extension de fichier

1

Quel est le moyen le plus simple de changer en permanence l’association (programme qui s’ouvre, etc.) de plusieurs extensions de fichier à la fois?

Ce que je veux dire?

Supposons que vous utilisiez jusqu'à présent TextEditorUncool pour ouvrir les fichiers txt , dat , bat et abc . Maintenant, vous avez TextEditorReallyCool et vous souhaitez qu’il y ait une application qui porte le nom du programme à gauche, et à droite une liste des extensions de fichier qui lui sont associées (qu’elle ouvre, par exemple).

Une telle chose existe t elle?

Habituellement, les programmes changent cette chose lors de l'installation (certains le demandent même auparavant), mais dans le cas de programmes portables, il faut le faire à la main, et pour les éditeurs qui ouvrent une multitude d'extensions de fichiers différentes, cela devient rapidement fastidieux.

Toutes les idées sont les bienvenues!

Tour
la source

Réponses:

1

Il y a environ un an, j'ai écrit un petit script batch pour traiter ce problème d'association de fichiers texte. Je travaille la plupart du temps, mais parfois (après l’application de la mise à jour Windows, par exemple), l’association restaurera ses paramètres par défaut. Si cela se produit, je relance le traitement.

J'ai choisi mes 3 éditeurs de texte préférés dans le script batch.

  • Notepad2 (ou Notepad2-mod ) pour les fichiers texte légers. Répertoire d'installation par défaut:%SystemRoot%
  • Bloc-notes ++ pour .sql .sh. Répertoire d'installation par défaut:%ProgramFiles%\Notepad++
  • EditPlus pour la plupart des fichiers texte de langage de programmation. Répertoire d'installation par défaut:%ProgramFiles%\EditPlus 3

Vous devez les remplacer par votre éditeur de texte préféré et les types de fichiers correspondants par les vôtres.

@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
LiuYan 研
la source
Liu, c'est encore mieux que ce que j'avais en tête. Réglez une fois, appliquez pour toujours. Il est plutôt tard (4 heures du matin), mais j'essaie dès le matin de bonne heure!
Rook
0

Pour modifier ou créer une association de fichier à partir de la liste Types de fichiers

Si la commande Ouvrir avec n'est pas disponible, procédez comme suit:
Cliquez sur Démarrer , puis sur Panneau de configuration .
Cliquez sur Options des dossiers .
Cliquez sur l' onglet Types de fichiers dans la fenêtre Options des dossiers. Les types de fichiers complets et leur association seront répertoriés.
Cliquez sur Nouveau et tapez l'extension de fichier dans la zone, puis cliquez sur Avancé .
Choisissez une association pour le type de fichier.
Cliquez sur OK puis sur Fermer .
Ouvrez le fichier à nouveau.

je suis l'homme
la source
Cela ne serait-il pas plutôt lent si vous essayez souvent de changer 30 extensions?
Rook
Eh bien, c'est plus rapide que dans l'autre sens ...
imtheman
Ok, assez bien ...
Rook
0

Quelques programmes qui pourraient être utiles:

Une autre chose d'intérêt (puisque vous avez mentionné spécifiquement les applications portables) pourrait être Coffee , qui peut être utilisé pour ouvrir temporairement tous les types de fichiers spécifiés à l'aide de vos applications portables. Ainsi, par exemple, si vous avez un éditeur de texte portable sur votre clé USB, vous pouvez configurer Coffee (résidant également sur la même clé) pour associer l'extension .txt à l'éditeur. Ainsi, tant que Coffee est en cours d'exécution, les fichiers .txt s'ouvriront automatiquement dans l'éditeur portable. Close Coffee, et le tour est joué, votre association .txt sera réinitialisée avec ce qu’elle était auparavant!

Karan
la source