2 votes

Impossible de changer le programme par défaut pour ouvrir un fichier à partir de cmd

Une fois, j'ai pensé, ce qui peut arriver si j'ouvre le fichier CPP avec cmd. Je pensais que cela fonctionnerait de la même manière que le type dans cmd, mais quand j'ai compris que ce n'était pas le cas, j'ai voulu changer le programme par défaut de cmd. Mais je suis incapable de le changer. J'ai cherché dans Google et j'ai essayé trois façons différentes de changer le programme mais je suis incapable de le changer. Voici mes trois méthodes :-

1. je clique avec le bouton droit de la souris sur le fichier, puis je choisis Open with -> choose default program le site always use the selected program to open this file n'est pas sélectionné.

  1. Je fais un clic droit sur le fichier, puis je choisis properties et j'ai vu qu'il n'y a pas de bouton de changement.

  2. Je suis allé à Default programs -> associate a file type or protocol with a program puis j'ai choisi l'extension .cpp et quand j'ai cliqué sur le bouton "changer", l'affichage a été modifié. always use the selected program to open this file n'a pas été sélectionné.

Maintenant, quelqu'un peut-il m'indiquer un moyen de changer ce programme par défaut ? Parce que lorsque je veux ouvrir ce fichier .cpp, il s'ouvre toujours avec cmd et je ne veux pas ouvrir ce programme avec cmd. Et je ne veux pas aller dans Open with -> Notepad chaque fois que je veux ouvrir ce fichier avec le bloc-notes.

0voto

DuncG Points 439

Vous devriez être en mesure d'utiliser assoc y ftype comme suggéré par @Stephan. Exécutez CMD.EXE (en tant qu'administrateur). Cela devrait créer une nouvelle relation entre l'extension de fichier et un nouveau type de fichier (Notepad ou notepad++) :

ASSOC .cpp=MyCPP
ftype MyCPP="%SystemRoot%\system32\NOTEPAD.EXE" "%1"

ftype MyCPP="C:\Program Files\Notepad++\notepad++.exe" "%1"

Je tape juste ftype imprimera une longue liste, il se peut qu'il existe déjà un nom de ftype approprié à utiliser dans une assoc comme celle-ci :

ASSOC .cpp=txtfile

0voto

iTwasnTme Points 5586

Vous pouvez le faire en utilisant Reg Add aussi...

@echo off && setlocal EnableDelayedExpansion

for %%i in (C:\Windows\System32\notepad.exe,C:\Windows\notepad.exe
  )do if exist "%%~i" set "_path_notepad=%%~i" && goto :regadd 

:regadd
2>nul (

"%__APPDIR__%reg.exe" add "HKCU\Software\Classes\.cpp" /ve /d "cppfile" /f
"%__APPDIR__%reg.exe" add "HKCU\Software\Classes\cppfile" /ve /d "C++ Code File" /f
"%__APPDIR__%reg.exe" add "HKCU\Software\Classes\cppfile\shell\open\command" /ve /d "\"!_path_notepad:\=\\!\" \"%%v\"" /f

) >nul && endlocal || (endlocal && echo/Something is very wrong here^!!) & %__APPDIR__%timeout.exe -1

Obs.. : 1 Il se peut que vous deviez exécuter cette batte avec des informations d'identification d'administrateur, exécutez-la en tant qu'administrateur.

Obs.. : 2 Ceci est une adaptation d'une autre réponse, que l'auteur ce n'était pas moi

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X