Désactiver l'avertissement de modification de fichier dans Windows 7


73

Existe-t-il un moyen de désactiver la boîte de dialogue de changement de nom d’extension de fichier dans Windows 7?

Celui qui vous invite

Renommer: si vous modifiez une extension de nom de fichier, le fichier peut devenir inutilisable. Êtes-vous sûr de vouloir le changer?


4
Si, comme moi, vous recevez souvent cet avertissement lors de la création d'un fichier d'un certain type (c'est-à-dire créer un nouveau "document texte" et le renommer), vous pouvez ajouter le type souhaité au menu contextuel "Nouveau" .
MrWhite

Réponses:


9

C'est possible avec un script AutoHotkey:

While, 1
{
 WinWait, Rename ahk_class #32770
 WinActivate, 
 ControlClick, Button1
}

Installez AutoHotkey , enregistrez le code ci-dessus dans un fichier portant l'extension .ahk et lancez le script. Il attendra que la fenêtre Renommer apparaisse. Lorsque cela se produit, il "clique" automatiquement sur le bouton Oui (identifié ici par "Bouton1").

Si vous ne souhaitez pas installer AutoHotkey, voici une version compilée du même script. Lancez l'exécutable et regardez-le faire sa magie :-).

Notez que cela ne répond pas vraiment à la question, car la question apparaît toujours. Mais comme c'est automatisé, vous ne serez plus dérangé par ça.


4
J'ai essayé cela, mais il faut encore plusieurs secondes au script pour répondre et cliquer sur "oui". Y a-t-il un moyen de remédier à cela?
Cecil a un nom

ce script suppose que la fenêtre est celle attendue, et non une autre erreur ou invite. Si je comprends bien, on peut rechercher l’existence de la fenêtre appropriée (par exemple, via le titre) avant de cliquer.
Horatio

Ceci est une solution de contournement. N'y a-t-il pas d'autre moyen? Voir les extensions et les changer. Je suis un superutilisateur et je sais ce que je fais ... ;-)
FiveO

2
Cette classe #32770est très courante pour de nombreux types de fenêtres (essayez de la rechercher), ce script fera donc quelque chose avec plusieurs types de fenêtres intitulé "Renommer". En d'autres termes, vous obtiendrez peut-être plus d'aide que prévu.
Evgeni Sergeev

Cette solution n'arrête pas le son gênant qui se produit lorsque la boîte de dialogue s'ouvre, ce qui, si vous devez renommer de nombreux fichiers, devient très gênant. Vous devez supprimer le son de la liste des sons du système (et le remettre ensuite), ce qui représente une charge de travail trop importante pour une tâche qui devrait être configurable. :-(
Synetech

21

En réponse à un commentaire sur la réponse acceptée, j'ai également constaté que le script AHK était assez lent. Cette modification semble accélérer les choses:

While, 1
{
 WinWaitActive, Renommer ahk_class #32770
 send o
}

Vous remarquerez que j'utilise Windows en français. Pour l'anglais:

While, 1
{
 WinWaitActive, Rename ahk_class #32770
 send y
}

Pour les fenêtres en portugais (au moins la version pt-BR), utilisez:

While, 1
{
 WinWaitActive, Renomear ahk_class #32770
 send s
}

2
Brillant. Cela fonctionne plus vite que la réponse acceptée! Comme 0.1s contre 0.5s probablement
Jonny

1
Ça sonne toujours à chaque fois.
Synetech

9

C'est très possible, avec les bons outils, de la patience, un désassembleur agréable et un peu de chance, vous pouvez le désactiver.

Cependant, ce n'est pas aussi simple que de changer une clé de registre.

Voici un exemple de personne désactivant le "délai" lorsque vous essayez de supprimer un fichier en cours d'utilisation. http://www.codeproject.com/KB/system/NoDeleteDelay.aspx
J'ai juste essayé de fouiller et je n'ai rien trouvé d'utile.

Je pense qu'une meilleure solution que RtvReco est que quelqu'un crée une option de menu dans le menu contextuel qui dit "Rename2" et fait apparaître une boîte de message demandant le nouveau nom de fichier et utilisant l'API Windows pour le renommer.


1
En fait, j'ai incorporé le NoDeleteDelay à mon piratage polyvalent Explorer il y a quelques années. Il semble que l'ajout d'une invite de remplacement de renommage soit le suivant de la liste. :-)
Synetech

@ Synetech: des informations supplémentaires sur votre "piratage universel" seraient grandement appréciées.
Coxy

1
@Coxy, c'est juste un programme qui explorer.execorrige / corrige / améliore / supprime un tas de choses qui m'ennuient à propos du logiciel par défaut.
Synetech

1
@ Synetech: ah oui, j'ai compris cela, mais je me demandais si vous aviez une page github / codeplex / geocities où je pourrais jeter un coup d'œil et réparer mon propre explorateur de la même manière.
Coxy

1
Oui, évidemment, les choses peuvent mal tourner si vous corrigez les fichiers à volonté, et il est évident que vous devez les réappliquer après les mises à jour. En ce qui concerne un autre gestionnaire de fichiers, je n’ai pas encore utilisé celui que j’aime sur Explorer; ils ont tous tendance à être trop encombrés et surchargés. En outre, l'invite de changement de nom est la seule chose à propos d'Explorer qui soit ennuyeuse (et pourtant réparable, bien que forcée).
Synetech

3

Plutôt que de télécharger une application, pourquoi ne pas simplement utiliser la commande 'ren * .aa * .bb' dans cmd (invite de commande)?


3
L'invite de commande dans Windows 7 n'est pas DOS.
Michael Frank

3
Ce n'est pas DOS, mais cette réponse est plus utile que les autres.
NateS

2
Pas vraiment. Au mieux, cela n'est utile que si vous devez renommer un ou deux fichiers, et même dans ce cas, le temps supplémentaire requis pour ouvrir une invite de commande et renommer les fichiers corrects est supérieur au temps requis pour cliquer Yesdans la boîte de dialogue qui s'ouvre. up.
Synetech

3

Vous ne pouvez pas désactiver le message d'avertissement d'extension de fichier. Il a cette conception pour assurer la sécurité de l'utilisateur contre la modification accidentelle des fichiers.

La source:

Réponse de la communauté Microsoft


29
Un super-utilisateur sait ce qu'il fait (j'espère). Je n'ai jamais renommé l'extension de fichier "par accident". Et si oui, je ne pense pas que Windows jettera un écran bleu juste après le changement de nom accidentellement ...
FiveO

Je suis tout à fait d'accord avec la communauté SU mais ce site est une référence mondiale et certaines personnes, moins férues de technologie que certains ici, pourraient essayer de renommer et de désorganiser le système. Néanmoins, il s’agit d’une limitation de Microsoft, donc techniquement ou non, c’est ce qu’elle est. (Selon la source du cours)
r0ca

2
You cannot disable the file extension warning message. It has this design to ensure the user's safety from modifying the files accidentally.Microsoft est presque aussi mauvais que Google, décidant pour les utilisateurs de ce qui est le mieux pour eux au lieu de passer par défaut pour les novices, mais permettant aux utilisateurs avancés de remplacer par choix.
Synetech

2

vous ne pouvez pas, cependant, tout n'est pas perdu.

vous pouvez utiliser RtvReco pour fermer automatiquement l’avertissement dès qu’il apparaît. Ce petit outil astucieux est conçu pour automatiser de nombreux aspects de Windows en appuyant sur les boutons des boîtes de dialogue gênantes, en choisissant des éléments de menu, en maximisant et en réduisant les fenêtres à votre place.

... ou utilisez un gestionnaire de fichiers correct à la place de l'Explorateur Windows (par exemple, Total Commander ).

les deux programmes sont des partagiciels, essayez avant d'acheter.

Je suis conscient de ce hack de registre, cependant, cela ne fonctionne pas pour moi avec Windows 7

[HKEY_LOCAL_MACHINE \ LOGICIEL \ Microsoft \ Windows \ CurrentVersion \ Policies \ System]

définissez la valeur de ConsentPromptBehaviorAdmin sur zéro (0) et redémarrez.

ps: bien sûr, il existe des alternatives gratuites à Total Commander, c’est tout simplement mon gestionnaire de fichiers préféré.


3
Je suis convaincu que cela désactive simplement le contrôle de compte d'utilisateur. Quelqu'un d'autre peut-il vérifier / refuser?
Natalie Adams

Oui, mais j'ai trouvé cela dans un fil de discussion chez MSDN comme une solution possible au même ennui, mais cela ne fonctionne pas.

1

Voici le code que j'ai utilisé pour résoudre le problème dans le script AutoIT. Le seul problème est qu'il continue à fonctionner et à exploiter certaines ressources. Sauf si vous avez une meilleure idée pour corriger le script. :-)

While 1
  if WinActive("Rename","") Then
    Send("!y")
  EndIf
  WEnd

1

Comme nous avons des fichiers qui, une fois téléchargés automatiquement, ont la date et l'heure ajoutées comme extension. J'ai donc cherché une solution et en ai trouvé une.

Téléchargez un programme appelé F ree Commander. Ils ont une version portable qui peut être installée sur une clé USB si nécessaire.

Ce programme vous permet de sélectionner plusieurs fichiers comme dans mon cas, et renomme l'extension sans vous demander si vous êtes sûr.


0

Je ne pense vraiment pas que ce soit possible sans utiliser non plus:

  1. Invite de commandes (un problème si vous n'y êtes pas habitué)
  2. Une solution de contournement tierce, soit un gestionnaire de fichiers ou quelque chose qui traite l'invite afin que vous n'ayez pas à

Personnellement, j'utilise PTFB (Appuyez sur le bouton Freakin ') ; c'est assez faible en ressources et très rapide. Ce n'est pas vraiment bon marché, mais c'est une chose pratique à avoir pour d'autres trucs.


0

J'étais aussi assez fatigué de ce message stupide et j'ai donc créé mon propre script Autohotkey, avec de nouvelles idées.

Je ne voulais pas d'un settimer permanent ou de la commande "while" tout le temps. Comme j'utilise toujours F2 pour renommer des fichiers, j'ai créé un raccourci clavier pour ajouter une fonction spéciale à cette clé. Ainsi, le minuteur ne se déclenche que lorsque vous appuyez sur cette touche et s’éteint une fois la tâche terminée.

J'ai également considéré que je voulais seulement que mon script affecte cette boîte de dialogue particulière. La prise en compte du nom seul ne suffisait pas, car le même dialogue de changement de nom apparaît lorsque vous essayez, par exemple, de renommer un élément du menu Démarrer.

Il existe donc certaines conditions pour que cette fonction fonctionne. Tout d'abord, il fonctionnera sur les fenêtres de l'explorateur et sur le bureau Windows. Avec le reste des programmes ou environnements, F2 continuera à fonctionner normalement. De plus, pour éviter des conflits tels que celui mentionné ci-dessus, le script vérifie la largeur et la hauteur de la fenêtre de dialogue de changement de nom afin de vérifier qu’elle correspond.

Enfin, j'ai également inclus la fonctionnalité de sélection automatique du nom de fichier complet (avec l'extension, comme avant Windows 7), car je le préfère ainsi. N'hésitez pas à supprimer la ligne Send ^ + {end} si vous ne le souhaitez pas.

Pour les versions anglaises de Windows, vous devrez remplacer "cambiar nombre" par le contenu de l'intitulé de votre fenêtre de dialogue renommée. Aussi, changez le "s" avec un "y". Si cela ne fonctionne pas, vous pouvez également utiliser Autoit3 Window Spy pour vérifier que votre fenêtre de dialogue de changement de nom a réellement cette taille (if (warnw = 515) et (warnh = 154).

#SingleInstance force

GroupAdd, folders2, ahk_class CabinetWClass
GroupAdd, folders2, ahk_class WorkerW
GroupAdd, folders2, ahk_class ExploreWClass
GroupAdd, folders2, ahk_class Progman
return

$F2::
if ( Winactive("ahk_group folders2") )
{
Send {F2}
Send ^+{end}
settimer, renombrar, 20
return
}
Else
{
Send {F2}
Return
}

renombrar:
WinWaitActive, Cambiar nombre ahk_class #32770
WinGetPos,,, warnw, warnh, Cambiar nombre
if (warnw = 515) and (warnh=154)
{
send, s
click up left
settimer, renombrar, off
return
}
Else
{
settimer, renombrar, off
return
}

0

Créez un script vb qui renomme le fichier, placez-le dans le dossier spécial "SendTo", cliquez avec le bouton droit de la souris sur le fichier dont l'extension doit être modifiée et indiquez le nouveau nom. Plus aucun avertissement, et la création du script ne prend que quelques minutes. Le script contient ceci:

on error resume next
Set objArg = Wscript.Arguments
do
   if objArg.Count < 1 then exit do
   fil=objArg(0)
   Set FSO = CreateObject("Scripting.FileSystemObject")
   if Err.Number > 0 then exit do
   Set f1 = FSO.GetFile(objArg(0))
   fil=f1.Name
   i=inputbox("","",fil)
   if i = fil then exit do
   f1.Name = i
   exit do
loop
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.