Отключить предупреждение об изменении расширения файла в Windows 7


73

Есть ли способ отключить диалог переименования расширений файлов в Windows 7?

Тот, который подсказывает тебе

Переименовать: если вы измените расширение имени файла, файл может стать непригодным для использования. Вы уверены, что хотите изменить это?


4
Если, как и я, вы часто получаете это предупреждение при создании файла определенного типа (т. Е. При создании нового «Текстового документа» и переименовании), вы можете вместо этого добавить нужный тип в контекстное меню «Новый» .
MrWhite

Ответы:


9

Это возможно с помощью скрипта AutoHotkey:

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

Установите AutoHotkey , сохраните приведенный выше код в файл с расширением .ahk и запустите скрипт. Он будет ждать появления окна Rename. Когда это происходит, он автоматически «нажимает» на кнопку «Да» (обозначается здесь как «Button1»).

Если вы не хотите устанавливать AutoHotkey, вот скомпилированная версия того же скрипта. Запустите исполняемый файл и посмотрите, как он делает свое дело :-).

Обратите внимание, что на самом деле это не отвечает на вопрос, так как вопрос все еще появляется. Но это автоматизировано, так что вас это больше не беспокоит.


4
Я попробовал это, но скрипту все еще требуется несколько секунд, чтобы ответить и «нажать» на «да». Есть ли способ облегчить это?
Сесил имеет имя

этот сценарий предполагает, что окно является ожидаемым, а не какая-либо другая ошибка или приглашение. AFAIK, можно запросить наличие соответствующего окна (например, через заголовок) до нажатия.
Горацио

Это обходной путь. Нет ли другого пути? Просмотр расширений и их изменение. Я SuperUser и знаю, что я делаю ... ;-)
FiveO

2
Этот класс #32770очень распространен для многих типов окон (попробуйте найти его), поэтому этот сценарий будет что-то делать со многими типами окон под названием «Переименовать». То есть вы можете получить больше помощи, чем рассчитывали :)
Евгений Сергеев

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

21

В ответ на комментарий о принятом ответе я также обнаружил, что скрипт AHK работает довольно медленно. Эта модификация, кажется, делает это быстрее:

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

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

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

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

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

2
Brilliant. Это работает ALLOT быстрее, чем принятый ответ! Как 0.1s против 0.5s, вероятно
Джонни

1
Это все еще звонит каждый раз.
Synetech

9

Это очень возможно, с правильными инструментами, терпением, хорошим дизассемблером и удачей, что вы можете его отключить.

Однако это не так просто, как изменить раздел реестра.

Вот пример того, как кто-то отключил «задержку», когда вы пытаетесь удалить используемый файл. http://www.codeproject.com/KB/system/NoDeleteDelay.aspx
Я просто попытался возиться и не нашел ничего полезного.

Я думаю, что лучшее решение, чем RtvReco, - это создать пункт меню для контекстного меню с надписью «Переименовать2», всплывающее окно с сообщением о новом имени файла и использовать Windows API для его переименования.


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

@Synetech: еще немного информации о вашем "универсальном взломе Explorer" будет высоко ценится.
Кокси

1
@Coxy, это просто программа, которая исправляет, explorer.exeисправляет / удаляет кучу вещей, которые раздражают меня по умолчанию.
Synetech

1
@Synetech: о да, я это понял, но мне было интересно, есть ли у вас страница github / codeplex / geocities, где я мог бы посмотреть и исправить свой собственный проводник таким же образом.
Кокси

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, но этот сайт является всемирным справочником, и некоторые люди, менее разбирающиеся в технологиях, чем некоторые здесь, могут попытаться переименовать и испортить систему. Тем не менее, это ограничение Microsoft, так что на данный момент, неважно, так оно и есть. (По источнику конечно)
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 Explorer (например, Total Commander ).

Обе программы условно-бесплатные, попробуйте, прежде чем купить.

я знаю об этом взломе реестра, однако он не работает для меня с Windows 7

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

установите значение 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 для переименования файлов, я сделал горячую клавишу, чтобы добавить специальную функцию к этой клавише. Таким образом, таймер срабатывает только при нажатии этой клавиши и выключается, когда задача завершена.

Я также считал, что хочу, чтобы мой сценарий влиял только на это конкретное диалоговое окно. Одного имени было недостаточно, потому что тот же диалог переименования появляется, например, при попытке переименовать элемент в меню «Пуск».

Итак, есть некоторые условия для работы этой функции. Во-первых, он будет работать в окнах Explorer и на рабочем столе Windows. С остальными программами или средами F2 продолжит работать в обычном режиме. Кроме того, чтобы предотвратить конфликты, такие как вышеупомянутые, скрипт проверяет ширину и высоту диалогового окна переименования, чтобы убедиться, что оно совпадает.

Наконец, я также включил функцию автоматического выбора полного имени файла (вместе с расширением, как до Windows 7), потому что я предпочитаю это таким образом. Не стесняйтесь удалить строку Отправьте ^ + {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.