Wyłącz ostrzeżenie o zmianie rozszerzenia pliku w Windows 7


73

Czy istnieje sposób na wyłączenie okna dialogowego zmiany nazwy rozszerzenia pliku w systemie Windows 7?

Ten, który Cię podpowiada

Zmień nazwę: jeśli zmienisz rozszerzenie nazwy pliku, plik może stać się bezużyteczny. Czy na pewno chcesz to zmienić?


4
Jeśli, podobnie jak ja, często pojawia się to ostrzeżenie podczas tworzenia pliku określonego typu (tj. Podczas tworzenia nowego „dokumentu tekstowego” i zmiany nazwy), możesz zamiast tego dodać żądany typ do menu kontekstowego „Nowy” .
MrWhite

Odpowiedzi:


9

Jest to możliwe dzięki skryptowi AutoHotkey:

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

Zainstaluj AutoHotkey , zapisz powyższy kod w pliku z rozszerzeniem .ahk i uruchom skrypt. Będzie czekać na pojawienie się okna Zmień nazwę. Kiedy to zrobi, automatycznie „klika” przycisk Tak (oznaczony tutaj jako „Button1”).

Jeśli nie chcesz instalować AutoHotkey, oto skompilowana wersja tego samego skryptu. Uruchom plik wykonywalny i zobacz, jak robi swoją magię :-).

Zauważ, że tak naprawdę nie odpowiada na pytanie, ponieważ pytanie wciąż się pojawia. Ale jest zautomatyzowany, więc nie będziesz się już tym przejmować.


4
Próbowałem tego, ale skrypt nadal potrzebuje kilku sekund na odpowiedź i „kliknięcie” tak. Czy jest jakiś sposób na złagodzenie tego?
Cecil ma nazwę

ten skrypt zakłada, że ​​okno jest tym, którego oczekuje, a nie jakimkolwiek innym błędem lub pytaniem. AFAIK, można zapytać o istnienie odpowiedniego okna (np. Poprzez tytuł) przed kliknięciem.
horatio

To jest obejście. Czy nie ma innej drogi? Widząc rozszerzenia i zmieniaj je. Jestem SuperUser i wiem, co robię ... ;-)
FiveO

2
Ta klasa #32770jest bardzo powszechna w wielu typach okien (spróbuj ją wyszukać), więc ten skrypt zrobi coś z wieloma typami okien o nazwie „Zmień nazwę”. Oznacza to, że możesz uzyskać więcej pomocy, niż się spodziewałeś :)
Evgeni Sergeev

To rozwiązanie nie zatrzymuje denerwującego dźwięku odtwarzanego, gdy pojawia się okno dialogowe, które, jeśli trzeba zmienić nazwy wielu plików, staje się bardzo denerwujące. Musiałbyś usunąć dźwięk z systemowej listy dźwięków (i odłożyć go później), co jest po prostu zbyt dużą pracą dla czegoś, co powinno być konfigurowalne. :-(
Synetech

21

W odpowiedzi na komentarz na temat przyjętej odpowiedzi stwierdziłem, że skrypt AHK działa dość wolno. Wydaje się, że ta modyfikacja przyspiesza:

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

Zauważysz, że używam systemu Windows w języku francuskim. Do użytku w języku angielskim:

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

W przypadku systemu Windows w języku portugalskim (przynajmniej wersja pt-BR) użyj:

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

2
Znakomity. Działa to WSZYSTKO szybciej niż zaakceptowana odpowiedź! Prawdopodobnie 0,1 s vs 0,5 s
Jonny

1
Za każdym razem dinguje.
Synetech

9

Jest to bardzo możliwe, dzięki odpowiednim narzędziom, cierpliwości i przyjemnemu deasemblerowi, a przy odrobinie szczęścia możesz to wyłączyć.

Jednak nie jest to tak proste, jak zmiana klucza rejestru.

Oto przykład wyłączenia przez użytkownika „opóźnienia” podczas próby usunięcia używanego pliku. http://www.codeproject.com/KB/system/NoDeleteDelay.aspx
Po prostu próbowałem się pogrzebać i nic nie znalazłem.

Wydaje mi się, że lepszym rozwiązaniem niż RtvReco jest stworzenie opcji menu do menu kontekstowego, która mówi „Rename2” i wyświetla okno komunikatu z pytaniem o nową nazwę pliku i używa Windows API do zmiany nazwy.


1
Kilka lat temu włączyłem NoDeleteDelay do mojego uniwersalnego hacka Explorer. Wygląda na to, że dodanie do niej polecenia bez nazwy Rename jest następne na liście. :-)
Synetech

@ Synetech: dodatkowe informacje na temat „hackowania uniwersalnego Eksploratora” byłyby bardzo mile widziane.
Coxy

1
@Coxy, to tylko program, który łata explorer.exenaprawić / ulepszyć / usunąć kilka rzeczy, które denerwują mnie z powodu domyślnej.
Synetech

1
@ Synetech: och tak, zrozumiałem to, ale zastanawiałem się, czy masz stronę github / codeplex / geocities, na której mógłbym rzucić okiem i naprawić mojego odkrywcę w ten sam sposób.
Coxy

1
Tak, oczywiście coś może pójść nie tak, jeśli łatasz pliki chcąc nie chcąc, i oczywiście trzeba je ponownie zastosować po aktualizacji. Jeśli chodzi o innego menedżera plików, muszę jeszcze użyć jednego, który mi się podoba w Eksploratorze; wszystkie są zbyt zagracone i przeciążone. Poza tym monit o zmianę nazwy jest jedyną irytującą (ale dającą się naprawić, choć siłą) rzeczą w Eksploratorze.
Synetech

3

Zamiast pobierać aplikację, dlaczego po prostu nie użyć polecenia „ren * .aa * .bb” w cmd (wiersz polecenia)?


3
Wiersz polecenia w systemie Windows 7 nie jest systemem DOS.
Michael Frank

3
To nie jest DOS, ale ta odpowiedź jest bardziej pomocna niż inne.
NateS

2
Nie całkiem. W najlepszym wypadku przydaje się tylko wtedy, gdy trzeba zmienić nazwę jednego lub dwóch plików, a nawet wtedy dodatkowy czas wymagany do otwarcia wiersza polecenia i zmiany nazwy właściwych plików jest dłuższy niż czas potrzebny do kliknięcia Yesw oknie dialogowym, które wyświetla Eksplorator w górę.
Synetech,

3

Nie można wyłączyć komunikatu ostrzegającego o rozszerzeniu pliku. Ma taką konstrukcję, aby zapewnić bezpieczeństwo użytkownika przed przypadkową modyfikacją plików.

Źródło:

Odpowiedź społeczności Microsoft


29
Superużytkownik wie, co robi (mam nadzieję) - nigdy nie zmieniłem nazwy rozszerzenia na „przypadkowo”. A jeśli tak - nie sądzę, że Windows wyrzuci
niebieski ekran

Całkowicie zgadzam się ze społecznością SU, ale ta strona jest światowym odniesieniem i niektórzy ludzie, mniej zaawansowani technicznie niż niektórzy tutaj, mogą próbować zmienić nazwę i zepsuć system. Niemniej jednak jest to ograniczenie Microsoftu, więc w tym momencie, technicznie czy nie, jest to, co to jest. (Jak na źródło oczywiście)
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 jest prawie tak samo zły jak Google, decydując dla użytkowników, co jest dla nich najlepsze, zamiast domyślnie bezpiecznych dla nowicjuszy, ale pozwalając zaawansowanym użytkownikom na obejście z wyboru.
Synetech

2

nie można jednak wszystko stracić.

możesz użyć RtvReco, aby automatycznie zamknąć ostrzeżenie, gdy tylko się pojawi. to fajne małe narzędzie ma zautomatyzować wiele aspektów systemu Windows, naciskając przyciski w irytujących oknach dialogowych, wybierając elementy menu, maksymalizując i minimalizując okna.

... lub użyj porządnego menedżera plików zamiast Eksploratora Windows (np. Total Commander ).

oba programy są shareware, spróbuj przed zakupem.

jestem świadomy tego włamania do rejestru, jednak nie działa on dla mnie w systemie Windows 7

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

ustaw wartość ConsentPromptBehaviorAdmin na zero (0) i zrestartuj.

ps: oczywiście istnieją bezpłatne alternatywy dla Total Commander, tak się składa, że ​​moim menedżerem plików jest z wyboru.


3
Jestem przekonany, że po prostu wyłącza UAC, czy ktoś może zweryfikować / odmówić?
Natalie Adams,

tak, ale znalazłem to w wątku na MSDN jako możliwe rozwiązanie tej samej irytacji, ale to nie działa.

1

Oto kod, którego użyłem do rozwiązania problemu w skrypcie AutoIT. Jedynym problemem jest to, że ciągle działa i pochłania niektóre zasoby. Chyba że masz lepszy pomysł, aby naprawić skrypt. :-)

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

1

Ponieważ mamy pliki, które po pobraniu automatycznie dodają datę i godzinę jako rozszerzenie. Więc szukałem rozwiązania i znalazłem jedno.

Pobierz program o nazwie F ree Commander. Mają wersję przenośną, którą w razie potrzeby można zainstalować na pendrivie USB.

Ten program pozwala wybrać wiele plików, jak w moim przypadku, i zmienia nazwę rozszerzenia bez pytania, czy jesteś pewien.


0

Naprawdę nie sądzę, że jest to możliwe bez użycia:

  1. Wiersz polecenia (kłopot, chyba że jesteś do tego przyzwyczajony)
  2. Obejście strony trzeciej, albo menedżer plików, albo coś, co zajmuje się monitem, więc nie musisz

Osobiście używam PTFB (Push the Freakin 'Button) ; ma bardzo mało zasobów i jest bardzo szybki. Nie jest to do końca tanie, ale jest przydatne przy innych rzeczach.


0

Byłem też dość zmęczony tą głupią wiadomością, więc stworzyłem własny skrypt Autohotkey z nowymi pomysłami.

Nie chciałem stałego osadnika ani polecenia „podczas” jedzenia posiłków przez cały czas. Ponieważ zawsze używam F2 do zmiany nazw plików, utworzyłem skrót, aby dodać specjalną funkcję do tego klawisza. W związku z tym licznik czasu jest uruchamiany tylko po naciśnięciu tego klawisza i gaśnie po zakończeniu zadania.

Rozważyłem również, że chcę, aby mój skrypt wpływał tylko na to okno dialogowe. Biorąc pod uwagę samą nazwę, nie wystarczyło, ponieważ ten sam dialog zmiany nazwy pojawia się na przykład podczas próby zmiany nazwy elementu w menu Start.

Istnieją więc pewne warunki do działania tej funkcji. Po pierwsze, będzie działał w oknach Eksploratora i na pulpicie Windows. W przypadku pozostałych programów lub środowisk F2 będzie nadal działać normalnie. Ponadto, aby zapobiec konfliktom, takim jak wspomniane wyżej, skrypt sprawdza szerokość i wysokość okna dialogowego zmiany nazwy, aby sprawdzić, czy jest on zgodny.

Na koniec włączyłem również funkcję automatycznego wybierania całej nazwy pliku (wraz z rozszerzeniem, jak przed Windows 7), ponieważ wolę to w ten sposób. Usuń linię Wyślij ^ + {end}, jeśli jej nie chcesz.

W przypadku angielskich wersji systemu Windows musisz zmienić „cambiar nombre” na cokolwiek, co znajduje się w tytule okna dialogowego zmiany nazwy. Zmień także „s” na „y”. W przypadku, gdy to nie działa, możesz również użyć programu Autoit3 Window Spy, aby sprawdzić, czy okno dialogowe zmiany nazwy ma rzeczywiście ten rozmiar (if (warnw = 515) i (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

Utwórz skrypt vb, który zmienia nazwę pliku, umieść go w specjalnym folderze „SendTo”, kliknij prawym przyciskiem myszy plik, który wymaga zmiany rozszerzenia, i wpisz nową nazwę. Żadnych ostrzeżeń, a tworzenie skryptu zajmuje tylko kilka minut. Skrypt zawiera to:

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.