Вимкніть попередження про зміну розширення файлів у Windows 7


73

Чи є спосіб вимкнути діалог перейменування розширення файлів у Windows 7?

Той, що підкаже

Перейменувати: Якщо ви зміните розширення імені файлу, файл може стати непридатним. Ви впевнені, що хочете змінити це?


4
Якщо, як і я, ви часто отримуєте це попередження під час створення файлу певного типу (тобто створення нового "Текстового документа" та перейменування), то ви можете замість цього додати потрібний тип у контекстне меню "Нове" .
MrWhite

Відповіді:


9

Це можливо за допомогою сценарію AutoHotkey:

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

Встановіть AutoHotkey , збережіть код вище у файлі з розширенням .ahk та запустіть скрипт. Він зачекає появи вікна Перейменувати. Після цього він автоматично "натискає" на кнопку Так (ототожнюється тут з "Кнопкою1").

Якщо ви не хочете інсталювати AutoHotkey, ось компільована версія того ж сценарію. Запустіть виконуваний файл і спостерігайте, як він робить свою магію :-).

Зауважте, він насправді не відповідає на питання, оскільки питання все ще з'являється. Але це автоматизовано, тому ви більше не будете перейматися цим.


4
Я спробував це, але сценарій все ще потребує декількох секунд, щоб відповісти та "натиснути" так. Чи є якийсь спосіб полегшити це?
Сесіль має ім’я

цей сценарій передбачає, що саме це очікує вікно, а не якусь іншу помилку чи підказку. AFAIK, перед натисканням можна запитати про наявність власного вікна (наприклад, через заголовок).
horatio

Це вирішення. Хіба іншого шляху немає? Побачивши розширення та змінити їх. Я SuperUser і знаю, що я роблю ... ;-)
П'ятьО

2
Цей клас #32770дуже поширений для багатьох типів Windows (спробуйте знайти його), тому цей сценарій буде щось робити із багатьма типами вікон під назвою "Перейменувати". Тобто, ви можете отримати більшу допомогу, ніж ви торгувались :)
Сергійєв Євгеній,

Це рішення не зупиняє дратівливий звук, який відтворюється при появі діалогового вікна, який, якщо вам потрібно перейменувати численні файли, стає дуже дратівливим. Вам доведеться видалити звук із списку системних звуків (і повернути його згодом), що є занадто великою роботою для того, що слід налаштувати. :-(
Synetech

21

У відповідь на коментар щодо прийнятої відповіді я також виявив, що сценарій AHK є досить повільним. Здається, ця модифікація робить його швидшим:

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

Ви помітите, що я використовую Windows французькою мовою. Для використання англійською мовою:

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

Для вікон на португальській мові (принаймні версія pt-BR) використовуйте:

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

2
Блискуча. Це працює ALLOT швидше, ніж прийнята відповідь! Можливо, 0,1s проти 0,5s, ймовірно,
Jonny

1
Він усе одно щосили помирає.
Synetech

9

Це дуже можливо, за допомогою правильних інструментів, терпіння та приємного розбирання та трохи удачі ви можете його відключити.

Однак це не так просто, як зміна ключа реєстру.

Ось приклад того, як хтось відключив "затримку", коли ви намагаєтесь видалити файл, який використовується. http://www.codeproject.com/KB/system/NoDeleteDelay.aspx
Я просто спробував розібратися і не знайшов нічого корисного.

Я думаю, що кращим рішенням, ніж RtvReco, є те, щоб хтось створив опцію меню для контекстного меню, яка говорить на зразок "Перейменувати2" і спливаюче вікно повідомлень із запитом на нове ім'я файлу та використовує API Windows для його перейменування.


1
Насправді я включив NoDeleteDelay у свій універсальний хакер Explorer кілька років тому. Схоже, додавання незважаючого на ім’я Перейменування є наступним у списку. :-)
Synetech

@Synetech: трохи більше інформації про ваш "універсальний хакер Explorer" буде дуже вдячний.
Coxy

1
@Coxy, це просто програма, яка виправляє, explorer.exeщоб виправити / покращити / видалити купу речей, які дратують мене за умовчанням.
Synetech

1
@Synetech: о так, я це зрозумів, але мені було цікаво, чи є у вас сторінка github / codeplex / geocities, де я можу подивитися так само і виправити власного дослідника таким же чином.
Coxy

1
Так, очевидно, що справи можуть піти не так, якщо ви будете латати файли мимоволі, і очевидно, що це доведеться повторно застосувати після оновлень. Що стосується іншого файлового менеджера, я ще не повинен використовувати той, який мені подобається через Explorer; всі вони, як правило, занадто захаращені і перевантажені. Крім того, запит на перейменування - це єдина дратівлива (але виправна, хоча й сила) робота про Explorer.
Synetech

3

Замість того, щоб завантажувати додаток, чому б не просто використовувати команду 'ren * .aa * .bb' в cmd (командний рядок)?


3
Командний рядок в Windows 7 не DOS.
Майкл Франк

3
Це не DOS, але ця відповідь корисніша за інші.
NateS

2
Не зовсім. У кращому випадку це корисно лише в тому випадку, якщо вам потрібно перейменувати один-два файли, і навіть тоді додатковий час, необхідний для відкриття командного рядка та перейменування правильних файлів, перевищує час, необхідний для натискання Yesв діалоговому вікні, в якому з'являється Провідник вгору
Synetech

3

Не можна вимкнути попередження про розширення файлу. Ця конструкція забезпечує безпеку користувача від випадкових змін файлів.

Джерело:

Відповідь спільноти Microsoft


29
Суперусер знає, що робить (сподіваємось) - я ніколи не перейменував розширення файлу "випадково". І якщо так - я не думаю, що Windows викине блюдоекран відразу після випадкового перейменування ...
FiveO

Я повністю погоджуюся з спільнотою SU, але цей сайт є довідником у всьому світі, і деякі люди, менш технічні, ніж деякі з них, можуть спробувати перейменувати та зіпсувати систему. Тим не менш, це обмеження Майкрософт, тож у той момент це технічно чи ні, саме воно є. (За джерелом звичайно)
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 майже так само погано, як і Google, вирішуючи для користувачів, що краще для них, а не дефолт, який є безпечним для новачків, але дозволяє просунутим користувачам переборювати за вибором.
Synetech

2

ви не можете, однак, все не втрачено.

ви можете використовувати RtvReco для автоматичного закриття попередження, як тільки воно з’явиться. Цей чудовий маленький інструмент призначений для автоматизації багатьох аспектів Windows, натисканням кнопок у дратівливих діалогових вікнах, виборі пунктів меню, максимізації та мінімізації вікон для вас.

... або використовувати гідний диспетчер файлів замість Провідника Windows (наприклад, Total Commander ).

обидві програми є умовно-безкоштовними програмами, спробуйте перед покупкою.

Мені відомий цей злом реєстру, однак він не працює для мене з Windows 7

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Політика \ Система]

встановіть значення ConsentPromptBehaviorAdmin на нуль (0) та перезавантажте.

ps: звичайно, є безкоштовні альтернативи для Total Commander, це просто так, що я вибрав мене за файловий менеджер.


3
Я переконаний, що просто відключає UAC, чи може хтось інший перевірити / спростувати?
Наталі Адамс

Так, але я знайшов це в потоці на MSDN як можливе рішення саме такого роздратування, але це не працює.

1

Ось код, який я використав для вирішення проблеми в сценарії AutoIT. Єдине питання полягає в тому, що він продовжує працювати і накопичує деякі ресурси. Якщо тільки у вас немає кращої ідеї виправити сценарій. :-)

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

1

Оскільки у нас є файли, які автоматично завантажуються, додаються дата та час як розширення. Тому я шукав рішення і знайшов його.

Завантажте програму під назвою F ree Commander. Вони мають портативну версію, яку при необхідності можна встановити на USB-накопичувач.

Ця програма дозволяє вибрати декілька файлів, як у моєму випадку, і перейменовує розширення, не запитуючи, чи ви впевнені.


0

Я дійсно не думаю, що це неможливо без використання жодного:

  1. Командний рядок (клопоту, якщо ви до цього не звикли)
  2. Стороннє рішення - або файловий менеджер, або щось, що стосується підказки, тому вам не доведеться цього робити

Особисто я використовую PTFB (натисніть кнопку Freakin ') ; це досить мало ресурсів і дуже швидко. Це не зовсім дешево, але це корисна річ для інших речей.


0

Я також дуже втомився від цього дурного повідомлення, тому я створив власний сценарій Autohotkey, з новими ідеями.

Я весь час не хотів постійного сеттемера або команди "пока", що їсть ресурси. Оскільки я завжди використовую F2 для перейменування файлів, я створив гарячу клавішу, щоб додати до цієї клавіші спеціальну функцію. Таким чином, таймер спрацьовує лише при натисканні цієї клавіші, і вимикається, коли завдання виконане.

Я також вважав, що хочу лише, щоб мій сценарій впливав на саме це діалогове вікно. Врахування одного імені було недостатньо, оскільки той самий діалог перейменування з’являється під час спроби перейменувати елемент, наприклад, у меню "Пуск".

Отже, є деякі умови, коли ця функція може працювати. По-перше, він буде працювати в Windows Explorer і на робочому столі Windows. З рештою програм або середовищ F2 продовжить працювати нормально. Крім того, для запобігання конфліктів, таких як формований, сценарій перевіряє ширину та висоту вікна діалогу перейменування, щоб перевірити, чи відповідає він.

Нарешті, я також включив функцію автоматичного вибору всього імені файлу (разом із розширенням, як до Windows 7), тому що я віддаю перевагу саме цьому. Ви можете видалити рядок Send ^ + {end}, якщо ви цього не хочете.

Для англійських версій Windows вам доведеться змінити "cambiar nombre" на те, що є в заголовку діалогового вікна перейменування. Також змініть "s" на "y". Якщо це не працює, ви також можете скористатися програмою Autoit3 Window Spy, щоб перевірити, чи дійсно вікно діалогу перейменування має цей розмір (if (warnw = 515) та (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

Зробіть vb-скрипт, який перейменовує файл, помістіть його в спеціальну папку "SendTo", клацніть правою кнопкою миші на файл, який потребує його розширення, і заповніть нове ім'я. Більше жодних попереджень, і для створення сценарію потрібно лише кілька хвилин. Сценарій містить такий:

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.