Comment restaurer l'association de fichiers .bat avec le système (les faire fonctionner lorsque vous double-cliquez dessus)?

68

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

D'une manière ou d'une autre, mon patron a convaincu son poste de travail que le gestionnaire de .batfichiers était censé être Word. Maintenant, lorsque vous double-cliquez sur des .batfichiers, ils sont ouverts dans Word.

justeSteve
la source
1
Je ne trouve même pas .BAT dans la boîte de dialogue des associations de types de fichiers de Windows. Et je ne peux pas invoquer la boîte de dialogue Ouvrir avec ... sur un fichier .bat. Comment aurait-il pu le changer ??
3
euh ... je suppose que c'est pour ça qu'il est un patron? ;)
3
Faites un clic droit sur le fichier .bat -> Ouvrir avec ... -> sélectionnez MS Word, cochez la case "Toujours ouvrir avec ce programme", cliquez sur OK. bam, votre extension est maintenant inscrite à Word.
Quack Quichotte
Mes fichiers chauve-souris ne disposent pas non plus du menu "Ouvrir avec" (Windows 7). D'autres fichiers l'ont, bien sûr.
lbalazscs
1
Pour votre information, les fichiers .bat ne sont pas des exécutables. Ce sont des scripts interprétés.
Keltari

Réponses:

58

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é.

Kaleb Brasee
la source
28
Pour vous, minimalistes, j'ajouterais que j'ai réussi à supprimer uniquement le sous-dossier UserChoice. Une fois qu'il avait disparu, le comportement d'exécution par défaut était restauré. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat \ UserChoice
Mark F Guerra
J'ai enlevé la .batclé entière et les choses sont revenues à la normale. Pour une raison quelconque (je soupçonne un antivirus), je n’ai pas pu renommer la UserChoiceclé.
Kim Gräsman
Une telle douleur!! et cela s'est produit automatiquement sur une mise à jour. Merci beaucoup MS.
Jus12
Sur le chemin, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.batj'ai enlevé UserChoicecomplètement la clé, ce qui a bien fonctionné pour moi. @Kim - peut-être que vous n'avez pas couru en regedt32tant qu'administrateur (clic droit et sélectionnez Run as administrator)?
Matt
Il y a beaucoup d'autres raisons possibles / places de registre. Voir les autres réponses et ma réponse essayant un résumé.
Kxr
32

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.

Il efface tous les paramètres par utilisateur que vous avez éventuellement créés accidentellement pour les fichiers .bat et restaure les valeurs par défaut du système, y compris la relation .bat<-> de batfiletype de fichier ainsi que les paramètres réels de lancement d'un fichier .bat 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\" %*"
Facteur Mystique
la source
également dû courir pour les fichiers cmd sur ma machine
Mohlsen
1
J'ai utilisé celui-ci, il semblait fonctionner correctement.
Håkon K. Olafsen
Après avoir fait cela, alors que je double-clique sur le fichier bat, je reçois une erreur du type "a.bat n’est pas une application win32 valide"
rashok
Fonctionne parfaitement mais pour prendre effet, je devais tuer explorer.exeet exécuter à nouveau une nouvelle tâche à l'aide du Gestionnaire des tâches.
Dave Anderson
Celui-ci a résolu si pour moi, la réponse sélectionnée ne l'avait pas été. Il demandait toujours une application pour ouvrir les fichiers .bat.
JDuarteDJ
10

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 .bat. Actualisez et exécutez un fichier de commandes en double-cliquant - il fonctionnera correctement.

Rêveur
la source
7

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
Niklas R
la source
1
Ceci est la solution pour Win 2008 Server, cmd exécuté en tant qu'administrateur. Aucun redémarrage de Explorer.exe ou de Windows n'est requis.
TonyG
Ne fonctionnent pas?????????????????
YumYumYum
2
Cela a fonctionné pour moi sur Windows 10
htxryan
Nope, ne fonctionnait pas sur Windows Server 2012
Toolkit
Avec Run as Administrator, cela fonctionnait parfaitement pour moi sur Windows 10 !! :-) Maintenant, les fichiers .exe (install) qui appellent des fichiers .bat fonctionnent comme prévu. Cette solution est bien meilleure que de devoir jouer avec le registre! En tant que sidenote, pour voir quelle est l'association actuelle, tapez simplement assoc .batDans mon cas les deux .batet cmd ont été associés en tant que Notepad++_file. Maintenant qu’ils le sont .batfile, un clic droit sur les fichiers bat me permet d’exécuter ou d’exécuter en tant qu’administrateur. Avant ce n'était pas possible. Auparavant, ma solution consistait à ouvrir une fenêtre de commande, puis à saisir manuellement un filename.batfichier pour exécuter le fichier.
SherylHohman
3

Les informations contenues dans cette réponse m'ont amené à la solution de ma question .

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

  • supprimé la UserChoiceclé
  • supprimé toutes les entrées sous la OpenWithListclé
Géant vert
la source
2

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.

thebunnyrules
la source
1

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 une entrée de registre batfile :

[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
.....
utilisateur6621
la source
1

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

utilisateur351257
la source
True (identique pour les versions précédentes de Windows / Notepad). Mais comment cela répond-il à la question?
Arjan
0

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\.batet HKEY_CLASSES_ROOT\batfile.

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

harrymc
la source
0

Pour éviter les tracas (et la peur et l'intimidation de nombreuses personnes) liés à la modification du registre, vous pouvez utiliser l'utilitaire de réparation gratuit, excellent et non invasif qui permet réellement de réparer (par rapport à de nombreux autres crapware) tweaking.com Windows Repair .

Plus précisément: installez-le, passez à l'onglet "Réparations", cliquez sur "Ouvrir les réparations" 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.

J'imagine que votre ordinateur de poche comporte de nombreux autres problèmes, 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.

r_alex_hall
la source
0

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

(Une fois les associations de types de fichiers étendues dans la boîte de dialogue des options de dossier de l'explorateur. Les fichiers BAT n'étaient pas modifiables. Il semble y avoir une exception particulière. Mais je me souviens qu'une fois que j'ai ajouté le type BAT dans la boîte de dialogue des options de dossier de l'Explorateur , pour que 'edit' 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\" %*"
kxr
la source