Deaktivieren Sie die Warnung zur Dateierweiterung in Windows 7

73

Gibt es eine Möglichkeit, das Dialogfeld zum Umbenennen von Dateierweiterungen in Windows 7 zu deaktivieren?

Derjenige, der Sie auffordert

Umbenennen: Wenn Sie eine Dateinamenerweiterung ändern, wird die Datei möglicherweise unbrauchbar. Möchten Sie das wirklich ändern?

Simon
quelle
4
Wenn Sie wie ich häufig diese Warnung erhalten, wenn Sie eine Datei eines bestimmten Typs erstellen (dh ein neues "Textdokument" erstellen und umbenennen), können Sie stattdessen den gewünschten Typ zum Kontextmenü "Neu" hinzufügen .
MrWhite

Antworten:

9

Mit einem AutoHotkey-Skript ist Folgendes möglich:

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

Installieren Sie AutoHotkey , speichern Sie den obigen Code in einer Datei mit der Erweiterung .ahk und starten Sie das Skript. Es wird darauf gewartet, dass das Rename-Fenster angezeigt wird. Wenn dies der Fall ist, klickt es automatisch auf die Schaltfläche "Ja" (hier mit "Button1" gekennzeichnet).

Wenn Sie AutoHotkey nicht installieren möchten, finden Sie hier eine kompilierte Version desselben Skripts. Führen Sie die ausführbare Datei aus und beobachten Sie, wie sie ihre Magie entfaltet :-).

Beachten Sie, dass die Frage nicht wirklich beantwortet wird, da die Frage immer noch angezeigt wird. Aber es ist automatisiert, so dass es Sie nicht mehr stört.

Snark
quelle
4
Ich habe es versucht, aber es dauert noch einige Sekunden, bis das Skript antwortet und auf "Ja" klickt. Gibt es eine Möglichkeit, dies zu lindern?
Cecil hat einen Namen
In diesem Skript wird davon ausgegangen, dass es sich bei dem Fenster um das erwartete Fenster handelt, nicht um einen anderen Fehler oder eine andere Eingabeaufforderung. AFAIK, man kann für die Existenz des richtigen Fensters (wie über Titel) vor dem Klick abfragen.
Horatio
Dies ist eine Problemumgehung. Gibt es keinen anderen Weg? Sehen Sie die Erweiterungen und ändern Sie sie. Ich bin ein SuperUser und weiß was ich tue ... ;-)
FiveO
2
Diese Klasse #32770ist für viele Fenstertypen sehr gebräuchlich (versuchen Sie, danach zu suchen), sodass dieses Skript bei vielen Fenstertypen mit dem Titel "Umbenennen" etwas bewirkt. Das heißt, Sie könnten mehr Hilfe bekommen, als Sie erwartet hatten :)
Evgeni Sergeev
Diese Lösung stoppt nicht den nervigen Sound, der abgespielt wird, wenn das Dialogfeld angezeigt wird. Wenn Sie mehrere Dateien umbenennen müssen, wird dies sehr nervig. Sie würden den Ton entfernen aus der Systemliste klingt (und steckte es wieder danach), die einfach zu viel Arbeit für etwas, das sollte konfigurierbar sein. :-(
Synetech
21

Als Antwort auf einen Kommentar zu der akzeptierten Antwort fand ich auch, dass das AHK-Skript ziemlich langsam ist. Diese Änderung scheint es schneller zu machen:

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

Sie werden feststellen, dass ich Windows in Französisch verwende. Für englisch verwendung:

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

Verwenden Sie für Windows in Portugiesisch (mindestens die pt-BR-Version):

While, 1
{
 WinWaitActive, Renomear ahk_class #32770
 send s
}
LiamHanks
quelle
2
Brillant. Dies funktioniert viel schneller als die akzeptierte Antwort! Wie 0.1s vs 0.5s wahrscheinlich
Jonny
1
Es klingt immer noch jedes Mal.
Synetech
9

Es ist sehr viel möglich, mit den richtigen Werkzeugen, Geduld und nettem Disassembler und ein bisschen Glück können Sie es deaktivieren.

Es ist jedoch nicht so einfach wie das Ändern eines Registrierungsschlüssels.

Hier ist ein Beispiel für jemanden, der die "Verzögerung" deaktiviert, wenn Sie versuchen, eine Datei zu löschen, die gerade verwendet wird. http://www.codeproject.com/KB/system/NoDeleteDelay.aspx
Ich habe nur versucht, mich umzuschauen und fand nichts Nützliches.

Ich denke, eine bessere Lösung als RtvReco besteht darin, dass jemand eine Menüoption für das Kontextmenü erstellt, die "Rename2" (Umbenennen2) sagt und ein Nachrichtenfenster mit der Aufforderung zum Umbenennen des neuen Dateinamens öffnet und die Windows-API verwendet.

Natalie Adams
quelle
1
Eigentlich habe ich das NoDeleteDelay vor ein paar Jahren in meinen Allzweck-Explorer-Hack integriert. Es sieht so aus, als ob das Hinzufügen einer Nicht-Aufforderung zum Umbenennen als Nächstes auf der Liste steht. :-)
Synetech
@Synetech: Weitere Informationen zu Ihrem "Allzweck-Explorer-Hack" wären sehr willkommen.
Coxy
1
@Coxy, es ist nur ein Programm, das Patches explorer.exezum Korrigieren / Verbessern / Löschen einer Reihe von Dingen erstellt, die mich an der Standardversion ärgern.
Synetech
1
@Synetech: oh ja, das habe ich verstanden, aber ich habe mich gefragt, ob Sie eine Github / Codeplex / Geocities-Seite haben, auf der ich einen Blick werfen und meinen eigenen Explorer auf die gleiche Weise reparieren kann.
Coxy
1
Ja, offensichtlich können Dinge schief gehen, wenn Sie Dateien ohne weiteres patchen, und offensichtlich muss es nach Updates erneut angewendet werden. Für einen anderen Dateimanager muss ich noch einen verwenden, den ich gegenüber dem Explorer mag. Sie sind alle zu überladen und überladen. Außerdem ist die Eingabeaufforderung zum Umbenennen die einzige nervige (und dennoch durch Gewalt behebbare) Sache in Explorer.
Synetech
3

Warum nicht einfach den Befehl 'ren * .aa * .bb' in cmd (Eingabeaufforderung) verwenden, anstatt eine App herunterzuladen?

Hilfreich
quelle
3
Die Eingabeaufforderung in Windows 7 ist nicht DOS.
Michael Frank
3
Es ist nicht DOS, aber diese Antwort ist hilfreicher als die anderen.
NateS
2
Nicht wirklich. Im besten Fall ist es nur dann sinnvoll, wenn Sie eine oder zwei Dateien umbenennen müssen. Die zusätzliche Zeit, die zum Öffnen einer Eingabeaufforderung und zum Umbenennen der richtigen Dateien erforderlich ist, überschreitet die Zeit, die zum Klicken Yesin das vom Explorer angezeigte Dialogfeld erforderlich ist Nach oben.
Synetech
3

Sie können die Warnmeldung zur Dateierweiterung nicht deaktivieren. Es hat dieses Design, um die Sicherheit des Benutzers vor versehentlichen Änderungen der Dateien zu gewährleisten.

Quelle:

Microsoft Community-Antwort

r0ca
quelle
29
Ein Superuser weiß (hoffentlich), was er tut - ich habe eine Dateierweiterung nie "aus Versehen" umbenannt. Und wenn ja - ich glaube nicht, dass Windows direkt nach dem versehentlichen Umbenennen einen Bluescreen
auslöst
Ich stimme der SU-Community voll und ganz zu, aber diese Seite ist eine weltweite Referenz und einige Leute, die weniger technisch versiert sind als manche hier, könnten versuchen, das System umzubenennen und durcheinander zu bringen. Dies ist jedoch eine Microsoft-Einschränkung, sodass es zu diesem Zeitpunkt technisch oder nicht technisch so ist, wie es ist. (Nach der Quelle natürlich)
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 ist fast so schlecht wie Google, da es für Benutzer die beste Wahl ist, anstatt standardmäßig für Anfänger sicher zu sein und fortgeschrittenen Benutzern die Möglichkeit zu geben, die Auswahl zu überschreiben.
Synetech
2

Sie können jedoch nicht alles ist nicht verloren.

Sie können RtvReco verwenden , um die Warnung automatisch zu schließen, sobald sie angezeigt wird. Mit diesem kleinen Tool können Sie viele Aspekte von Windows automatisieren, indem Sie in lästigen Dialogfeldern Schaltflächen drücken, Menüelemente auswählen, Fenster maximieren und minimieren.

... oder verwenden Sie einen ordentlichen Dateimanager anstelle von Windows Explorer (zB Total Commander ).

Beide Programme sind Shareware, versuchen Sie es vor dem Kauf.

Mir ist dieser Registry-Hack bekannt, er funktioniert jedoch nicht mit Windows 7

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

Setzen Sie den Wert von ConsentPromptBehaviorAdmin auf Null (0) und starten Sie neu.

ps: es gibt natürlich kostenlose Alternativen zu Total Commander, es ist also zufällig mein Dateimanager der Wahl.


quelle
3
Ich bin der Überzeugung, dass die Benutzerkontensteuerung nur deaktiviert wird. Kann jemand anderes sie verifizieren / verweigern?
Natalie Adams
Ja, aber ich fand dies in einem Thread bei MSDN als mögliche Lösung für den gleichen Ärger, aber es funktioniert nicht.
1

Hier ist der Code, mit dem ich das Problem im AutoIT-Skript gelöst habe. Das einzige Problem ist, dass es weiterläuft und einige Ressourcen verschlingt. Es sei denn, Sie haben eine bessere Idee, um das Skript zu beheben. :-)

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

Da wir Dateien haben, die beim automatischen Download das Datum und die Uhrzeit als Erweiterung hinzugefügt haben. Also habe ich nach einer Lösung gesucht und eine gefunden.

Laden Sie ein Programm namens F ree Commander herunter . Sie haben eine tragbare Version, die bei Bedarf auf einem USB-Stick installiert werden kann.

Mit diesem Programm können Sie wie in meinem Fall mehrere Dateien auswählen und die Erweiterung umbenennen, ohne nachzufragen, ob Sie sicher sind.

Glenn
quelle
0

Ich glaube wirklich nicht, dass dies möglich ist, ohne Folgendes zu verwenden:

  1. Eingabeaufforderung (ein Ärger, wenn Sie nicht daran gewöhnt sind)
  2. Ein Workaround eines Drittanbieters, entweder ein Dateimanager oder etwas, das sich mit der Eingabeaufforderung befasst, sodass Sie dies nicht tun müssen

Persönlich benutze ich PTFB (Push the Freakin 'Button) ; es ist ziemlich ressourcenschonend und sehr schnell. Es ist nicht gerade billig, aber praktisch für andere Dinge.

Paul Roberts
quelle
0

Ich war auch dieser dummen Nachricht ziemlich überdrüssig und habe mein eigenes Autohotkey-Skript mit einigen neuen Ideen erstellt.

Ich wollte nicht, dass ein permanenter Siedler oder das "while" -Kommando ständig Ressourcen frisst. Da ich zum Umbenennen von Dateien immer F2 verwende, habe ich einen Hotkey erstellt, um dieser Taste eine spezielle Funktion hinzuzufügen. Somit wird der Timer nur durch Drücken dieser Taste ausgelöst und erlischt, wenn die Aufgabe abgeschlossen ist.

Ich habe auch überlegt, dass mein Skript nur dieses bestimmte Dialogfeld beeinflussen soll. Die Berücksichtigung des Namens allein reichte nicht aus, da der gleiche Umbenennungsdialog angezeigt wird, wenn Sie beispielsweise versuchen, ein Element im Startmenü umzubenennen.

Es gibt also einige Bedingungen, unter denen diese Funktion funktioniert. Zunächst wird es in Explorer-Fenstern und auf dem Windows-Desktop ausgeführt. Mit den anderen Programmen oder Umgebungen arbeitet F2 normal weiter. Um Konflikte wie die oben genannten zu vermeiden, überprüft das Skript außerdem die Breite und Höhe des Umbenennungsdialogfensters, um sicherzustellen, dass es übereinstimmt.

Schließlich habe ich auch die Funktion der automatischen Auswahl des gesamten Dateinamens (zusammen mit der Erweiterung, wie vor Windows 7) hinzugefügt, da ich es auf diese Weise bevorzuge. Sie können die Zeile Senden ^ + {Ende} auch entfernen, wenn Sie dies nicht möchten.

Für englische Windows-Versionen müssen Sie "cambiar nombre" in den Titel Ihres Umbenennungsdialogfensters ändern. Ändern Sie auch das "s" mit einem "y". Falls es nicht funktioniert, können Sie auch Autoit3 Window Spy verwenden, um zu überprüfen, ob Ihr Umbenennungsdialogfenster tatsächlich diese Größe hat (if (warnw = 515) und (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
}
Elaphe
quelle
0

Erstellen Sie ein VB-Skript, das die Datei umbenennt, platzieren Sie es in dem speziellen Ordner "SendTo", klicken Sie mit der rechten Maustaste auf die Datei, deren Erweiterung geändert werden muss, und geben Sie den neuen Namen ein. Keine Warnungen mehr und die Erstellung des Skripts dauert nur noch wenige Minuten. Das Skript enthält Folgendes:

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