web-dev-qa-db-fra.com

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

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?

69
Simon

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.

9
Snark

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
}
21
LiamHanks

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 affiche une boîte de message demandant le nouveau nom de fichier et utilisant l'API Windows pour le renommer.

9
Natalie Adams

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

3
r0ca

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.

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

2
Molly7244

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

2
Helpful

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.

1
Glenn

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
Mike

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, pour que vous n'ayez pas à le faire.

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
Paul Roberts

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 de renommer un élément du menu Démarrer, par exemple.

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 "nombre entier" par le contenu de l'intitulé de la fenêtre de dialogue de changement de nom. 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
Elaphe

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
0
Richard