在Windows 7中关闭更改文件扩展名警告


73

有没有办法在Windows 7中关闭文件扩展名重命名对话框?

提示你的那个

重命名:如果更改文件扩展名,则该文件可能变得不可用。您确定要更改吗?


4
如果像我一样,在创建某种类型的文件时(例如,创建新的“文本文档”并重命名)时经常收到此警告,则可以将所需的类型添加到“新建”上下文菜单中
MrWhite

Answers:


9

AutoHotkey脚本是可能的:

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

安装AutoHotkey,将上面的代码保存在扩展名为.ahk的文件中,然后启动脚本。它将等待“重命名”窗口出现。完成后,它将自动“单击”“是”按钮(此处用“ Button1”标识)。

如果您不想安装AutoHotkey,则这里是同一脚本的编译版本。运行可执行文件并观察它的作用:-)。

请注意,它并没有真正回答问题,因为问题仍然出现。但是它是自动化的,因此您不再为它所困扰。


4
我尝试了此操作,但脚本仍然需要几秒钟才能做出响应,并且“单击”是。有什么办法可以减轻这种情况?
Cecil的名字是2009年

该脚本假定窗口是预期的窗口,而不是其他错误或提示。AFAIK,可以在单击之前查询适当窗口的存在(例如通过标题)。
horatio 2012年

这是一种解决方法。有没有其他办法?查看扩展名并进行更改。我是超级用户,知道我在做什么... ;-)
FiveO

2
这个类#32770是许多类型的窗口(尝试寻找它)很常见,所以这个脚本会做一些与许多类型的标题为“重命名”窗口。也就是说,您得到的帮助可能比您为之讨价还价的更多:)
Evgeni Sergeev 2015年

此解决方案不会阻止对话框弹出时播放的烦人的声音,如果您需要重命名大量文件,该声音会非常烦人。您必须从系统声音列表中删除声音(然后放回去),这对于应该可配置的东西来说是太多的工作。:-(
Synetech

21

在回应有关已接受答案的评论时,我还发现AHK脚本运行很慢。此修改似乎使其更快:

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

您会注意到我使用法语的Windows。对于英语使用:

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

对于葡萄牙语(至少为p​​t-BR版本)的Windows,请使用:

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

2
辉煌。这样可以比接受的答案更快地分配!大概是0.1s和0.5s
Jonny 2014年

1
仍然每次都会响。
Synetech

9

有了合适的工具,耐心和好的反汇编程序,很有可能禁用它。

但是,它并不像更改注册表项那么简单。

这是当您尝试删除正在使用的文件时禁用“延迟”的示例。 http://www.codeproject.com/KB/system/NoDeleteDelay.aspx
我只是在四处寻找,没有发现任何有用的东西。

我认为比RtvReco更好的解决方案是让某人在上下文菜单中创建一个菜单选项,例如“ Rename2”,并弹出一个提示输入新文件名的消息框,并使用Windows API对其进行重命名。


1
实际上,几年前,我将NoDeleteDelay合并到了我的通用Explorer黑客中。似乎在列表的下一个添加了重命名无提示。:-)
Synetech'3

@Synetech:有关您的“通用Explorer hack”的更多信息将不胜感激。
Coxy 2012年

1
@Coxy,这只是一个补丁程序,explorer.exe用于修复/改善/删除许多使我烦恼的默认值。
Synetech

1
@Synetech:哦,是的,我了解这一点,但我想知道您是否有一个github / codeplex / geocities页面,我可以以同样的方式查看并修复自己的资源管理器。
Coxy 2012年

1
是的,如果您随意修补文件,显然会出错,并且显然必须在更新后重新应用它。至于其他文件管理器,我还没有在Explorer中使用我喜欢的文件管理器。它们都过于混乱和超负荷。此外,重命名提示是Explorer唯一令人烦恼的问题(尽管可以通过强制实施,但仍可修复)。
Synetech

3

除了下载应用程序外,为什么不直接在cmd中使用“ ren * .aa * .bb”命令(命令提示符)?


3
Windows 7中的命令提示符不是DOS。
迈克尔·弗兰克

3
它不是DOS,但此答案比其他答案更有帮助。
NateS

2
并不是的。充其量,它仅在您需要重命名一个或两个文件时才有用,即使这样,打开命令提示符并重命名正确的文件所需的额外时间也比在Yes资源管理器弹出的对话框中单击所需的时间更多。起来
Synetech

3

您不能禁用文件扩展名警告消息。它具有这种设计,以确保用户的安全,以免意外修改文件。

资源:

Microsoft社区答案


29
超级用户知道他在做什么(希望如此)-我从未“偶然”重命名文件扩展名。如果是这样,我不认为Windows会在意外重命名后立即抛出蓝屏……
FiveO 2014年

我完全同意SU社区,但是该站点是世界性的参考,有些人(比某些人少一些技术方面的知识)可能会尝试重命名并弄乱系统。但是,这是Microsoft的限制,因此无论是技巧还是不技巧,这都是事实。(根据课程的来源)
r0ca 2014年

2
You cannot disable the file extension warning message. It has this design to ensure the user's safety from modifying the files accidentally.微软几乎与Google一样糟糕,它会为用户确定最适合他们的东西,而不是默认为新手提供安全保护,而是允许高级用户选择覆盖。
Synetech '17

2

您不能,但是,一切都不会丢失。

您可以使用RtvReco在警告出现后立即自动将其关闭。这个漂亮的小工具旨在通过在烦人的对话框中按下按钮,选择菜单项,最大化和最小化窗口来自动执行Windows的许多方面。

...或使用体面的文件管理员代替Windows资源管理器(例如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脚本。

我不想一直使用settimer或“ while”命令一直在消耗资源。由于我一直使用F2重命名文件,因此我制作了一个热键,以向该键添加特殊功能。因此,仅在按下此键时触发计时器,并在任务完成时关闭计时器。

我还考虑过,我只希望我的脚本影响这个特定的对话框。仅考虑名称是不够的,因为例如,当您尝试在开始菜单中重命名项目时,会出现相同的重命名对话框。

因此,此功能起作用需要一些条件。首先,它将在资源管理器窗口和Windows桌面上运行。对于其他程序或环境,F2将继续正常工作。另外,为了防止上述冲突,脚本会检查重命名对话窗口的宽度和高度,以验证其是否匹配。

最后,我还包括自动选择整个文件名的功能(以及扩展名,例如Windows 7之前的版本),因为我更喜欢这种方式。随意删除“发送^ + {end}”行。

对于Windows的英语版本,您必须将“ c​​ambiar nombre”更改为重命名对话框窗口标题上的任何内容。另外,将“ s”更改为“ y”。万一它不起作用,您还可以使用Autoit3 Window Spy来检查您的重命名对话窗口实际上是否具有此大小(如果(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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.