web-dev-qa-db-fra.com

Comment restaurer l'association de fichiers .bat avec le système?

À quoi dois-je définir la propriété 'Opens with ...' afin de permettre au système de réexécuter les fichiers .bat (lorsqu'ils sont double-cliqués)?

En quelque sorte, mon patron a convaincu son poste de travail que le gestionnaire de fichiers .bat était censé être Word. Désormais, lorsque vous double-cliquez sur les fichiers .bat, ils s’ouvrent dans Word.

65
justSteve

Je pense que vous devrez supprimer l'association de fichier .bat du registre (en utilisant le programme regedit).

Selon ce fil de discussion sur LockerGnome , vous devez supprimer les paramètres de registre situés sous cette clé:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat

Vous voudrez probablement sauvegarder le registre avant de faire ceci, juste pour être en sécurité.

56
Kaleb Brasee

Ce fichier de clé de registre le fera. Copiez et collez dans un fichier texte appelé "restore.reg", puis double-cliquez dessus pour le fusionner dans le registre.

Elle efface tout paramètre par utilisateur créé accidentellement pour les fichiers .bat et restaure les valeurs par défaut du système, y compris la relation de type de fichier .bat <-> batfile ainsi que les paramètres réels pour le lancement d'une batfile.

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]
[-HKEY_CURRENT_USER\Software\Classes\.bat]
[-HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
@="batfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\Shell\open\command]
@="\"%1\" %*"
32
Factor Mystic

J'ai eu le même problème (sous Windows 7); Les fichiers de commandes s'ouvraient dans le Bloc-notes au lieu d'être exécutés.

En corrigeant le registre ci-dessous pour les fichiers .bat (comme sur tout autre ordinateur sur lequel cela fonctionne), le batch sera exécuté correctement:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\

.bat                --> default-> Value not set
.bat/OpenWithList   --> default-> Value not set
.bat/OpenWithProgIds--> default-> Value not set
                        batfile-> Zero length binary values 

Conservez ces entrées mais supprimez toutes les autres sous .bat. Actualisez et exécutez un fichier de commandes en double cliquant dessus - il fonctionnera correctement.

10
Dreamer

Aucune des réponses ci-dessus ne l'a corrigé pour la machine sur laquelle je travaillais, mais ce qui a été corrigé a été de démarrer un shell d'administration et de s'exécuter.

assoc .bat=batfile
assoc .cmd=batfile
5
Niklas R

L'information dans cette réponse m'a amené à la solution à ma question .

J'ai ouvert la clé de registre mentionnée ici et

  • supprimé la clé UserChoice
  • supprimé toutes les entrées sous la clé OpenWithList
3
GreenGiant

La réponse qui a obtenu 40 votes de Kaleb n'a pas fonctionné pour moi mais j'ai fini par trouver la réponse. Pour que le fichier bat s'exécute à nouveau, vous devez aller à:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes.bat] et définissez (valeur par défaut) la valeur "batfile". Si vous avez des scripts batch s'ouvrant dans Word ou Notepad ++ au lieu de s'exécuter en double-clic, c'est parce que ces programmes ont défini (Par défaut) leurs propres mimes.

Si vous voulez une solution rapide, ouvrez simplement un fichier texte et collez:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
    @="batfile"

Et enregistrez-le avec une extension .reg et double-cliquez pour le fusionner.

2
thebunnyrules

Sous Windows 8, utilisez le Bloc-notes pour créer ou modifier un fichier batch, mais le secret est le suivant:

Enregistrez le fichier de commandes en utilisant des guillemets doubles. Utilisez littéralement "MYBACK.BAT" en utilisant les guillemets dans la boîte de sauvegarde pour enregistrer le fichier. Au lieu de MYBACK.BAT

1
user351257

Dans l'enregistrement, l'entrée . Bat doit pointer sur l'entrée batfile :

[HKEY_CLASSES_ROOT\.bat]
@="batfile"
.....

Naturellement, vous devrez également vous assurer que vous avez un batfile entrée de registre:

[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
.....
1
user6621

Encore une fois, aucune des réponses précédentes ne l’a fait ici.
Par exemple, j’ai dû changer la valeur par défaut de [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\Shell] de edit à open.

(Une fois que j'avais modifié les associations de type de fichier étendues dans la boîte de dialogue des options de dossier de l'Explorateur. Les fichiers BAT ne pouvaient pas être modifiés. Il semble y avoir une exception particulière. Mais je me souviens, une fois que j'ai ajouté le type de BAT dans la boîte de dialogue des options du dossier de l'Explorateur, pour que 'modifier' soit le verbe Shell par défaut.)

Divers lieux à inspecter

Donc, après tout, les raisons et la version du système d'exploitation varient, et (au moins) les valeurs (par défaut) des dossiers de registre (et des sous-dossiers) suivants doivent être vérifiées - avec un peu de bon sens :-). Et je pense que cette liste peut refléter l'ordre de priorité pertinent pour le système d'exploitation:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]  (if present: remove "UserChoice")
[HKEY_CURRENT_USER\Software\Classes\.bat]  (if present: @ = "batfile")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]  (if present)
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\Shell]  (if present: @ = "open")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\Shell\open\command]  (if present: @ = "\"%1\" %*")
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]  @ = "batfile"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\Shell]  @ = "open"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\Shell\open\command]  @ = "\"%1\" %*"
[HKEY_CLASSES_ROOT\.bat]  @ = "batfile"
[HKEY_CLASSES_ROOT\batfile]
[HKEY_CLASSES_ROOT\batfile\Shell]  @ = "open"
[HKEY_CLASSES_ROOT\batfile\Shell\open\command]  @ = "\"%1\" %*"
0
kxr

Pour éviter les tracas (et la peur et l'intimidation) à la modification du registre, vous pouvez utiliser l'utilitaire de réparation gratuit, excellent et non invasif, qui permet de réaliser de bons résultats (contre de nombreux crapware), tweaking.com Réparation de Windows .

Spécifiquement: installez-le, passez à l'onglet "Réparations", cliquez sur "Réparations ouvertes" et cochez la case "04 Enregistrer les fichiers système", puis cliquez sur le bouton "Démarrer les réparations".

L'interface utilisateur de ce programme a changé au fil du temps, de sorte que toute personne effectuant cette opération devra peut-être explorer le programme pour trouver cette option.

Je suppose qu'il y a beaucoup d'autres problèmes sur l'ordinateur de votre patron, de sorte qu'il peut vouloir exécuter toutes les réparations du programme, ce qui peut prendre des heures, en fonction.

Remarque: je ne suis pas affilié à tweaking.com; Je suis juste un grand fan du programme. Son utilisation avisée a permis de sauvegarder le système d'exploitation de mon ordinateur ou de résoudre plusieurs fois des problèmes persistants.

0
r_alex_hall

Le contenu du registre varie selon les versions de Windows.

Je vous suggère de rechercher un autre ordinateur avec la même version de système d'exploitation et d'utiliser regedit pour exporter le contenu de HKEY_CLASSES_ROOT\.bat et HKEY_CLASSES_ROOT\batfile.

Ensuite, allez sur la machine du Boss, supprimez les deux clés ci-dessus et importez les deux fichiers.

0
harrymc