web-dev-qa-db-ja.com

Windows 7でファイル拡張子の変更に関する警告をオフにする

Windows 7でファイル拡張子の名前変更ダイアログをオフにする方法はありますか?

あなたを促すもの

名前の変更:ファイル名の拡張子を変更すると、ファイルが使用できなくなる可能性があります。変更してもよろしいですか?

76
Simon

AutoHotkeyスクリプトで可能です。

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

インストール AutoHotkey 、上記のコードを.ahk拡張子のファイルに保存し、スクリプトを起動します。名前の変更ウィンドウが表示されるのを待ちます。その場合、[はい]ボタン(ここでは「Button1」で識別)が自動的に「クリック」されます。

AutoHotkeyをインストールしたくない場合は、同じスクリプトの コンパイル済みバージョン を次に示します。実行可能ファイルを実行し、その魔法を実行するのを見てください:-)。

質問がまだ表示されているため、実際には質問に回答しないことに注意してください。しかし、自動化されているため、もう煩わされることはありません。

9
Snark

受け入れられた回答についてのコメントに応えて、AHKスクリプトも非常に遅いことがわかりました。この変更はそれをより速くするようです:

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

私がフランス語でウィンドウを使用していることに気づくでしょう。英語用:

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

ポルトガル語(少なくともpt-BRバージョン)のWindowsの場合は、次を使用します。

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

適切なツール、忍耐力、Nice逆アセンブラーを使用して、それを無効にすることができれば、それは非常に可能です。

ただし、レジストリキーを変更するほど簡単ではありません。

これは、使用中のファイルを削除しようとしたときに「遅延」を無効にする例です。 http://www.codeproject.com/KB/system/NoDeleteDelay.aspx
私はただのぞき回ろうとしましたが、有用なものは何も見つかりませんでした。

RtvRecoよりも優れた解決策は、「Rename2」のようなコンテキストメニューにメニューオプションを作成し、新しいファイル名を要求するメッセージボックスをポップアップし、Windows APIを使用して名前を変更することです。

9
Natalie Adams

ファイル拡張子の警告メッセージを無効にすることはできません。この設計により、ユーザーがファイルを誤って変更してしまうことを防ぎます。

ソース:

マイクロソフトコミュニティの回答

3
r0ca

アプリをダウンロードするのではなく、cmd(コマンドプロンプト)で「ren * .aa * .bb」コマンドを使用しないのはなぜですか?

3
Helpful

ただし、すべてが失われるわけではありません。

RtvRecoを使用して、警告が表示されたらすぐに自動的に閉じることができます。この気の利いた小さなツールは、煩わしいダイアログボックスのボタンを押し、メニュー項目を選択し、ウィンドウを最大化および最小化することにより、Windowsの多くの側面を自動化するように設計されています。

...または、Windowsエクスプローラの代わりに、適切なファイルマネージャを使用します(例:Total Commander)。

どちらのプログラムもシェアウェアです。購入する前に試してください。

私はこのレジストリハックを認識していますが、Windows 7では動作しません

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

consentPromptBehaviorAdminの値をゼロ(0)に設定し、再起動します。

pS:もちろん、Total Commanderに代わる無料のツールがあります。たまたま私のファイルマネージャーが選択されただけです。

2
Molly7244

ダウンロード時に自動的に日付と時刻が拡張子として追加されるファイルがあるためです。だから私は解決策を探していて、それを見つけました。

F ree Commanderと呼ばれるプログラムをダウンロードします。 必要に応じて、USBサムドライブにインストールできるポータブルバージョンがあります。

このプログラムでは、私の場合のように複数のファイルを選択でき、確認せずに拡張子の名前を変更します。

1
Glenn

AutoITスクリプトの問題を解決するために使用したコードは次のとおりです。唯一の問題は、実行を続け、いくつかのリソースを消費することです。 yallがスクリプトを修正するより良いアイデアを持っていない限り。 :-)

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

以下は、ウィンドウがポップアップしたときにサウンドをミュート/ミュート解除するAutoHotkeyスクリプトです。

ループの前のすべての設定は、実行を高速化するためにすべてのスクリプトを開始する方法です。

ビープ音が聞こえなくなるまでSleepの値を編集します。

#NoEnv
SetWorkingDir %A_ScriptDir%
CoordMode, Mouse, Window
SendMode Input
#SingleInstance Force
SetTitleMatchMode 2
#WinActivateForce
SetControlDelay 1
SetWinDelay 0
SetKeyDelay -1
SetMouseDelay -1
SetBatchLines -1

Loop
{
    WinWait, Rename ahk_class #32770 ahk_exe Explorer.EXE
    Send, {Volume_Mute}
    ControlClick, Button1
    Sleep, 800
    Send, {Volume_Mute}
}
Return
0
Mister Robato

私はこれをどちらかを使わずにこれが可能であると本当に思っていません:

  1. コマンドプロンプト(慣れていなければ面倒)
  2. サードパーティの回避策、ファイルマネージャー、またはプロンプトを処理するもの。これにより、

個人的に私は PTFB(Freakin 'ボタンを押す) ;を使用します。リソースはかなり少なく、非常に高速です。それは正確に安くはありませんが、他のもののために持っておくと便利です。

0
Paul Roberts

私もこの愚かなメッセージにかなり飽きていたので、いくつかの新しいアイデアで自分のAutohotkeyスクリプトを作成しました。

永続的なsettimerや「while」コマンドが常にリソースを消費することは望んでいませんでした。私は常にファイル名の変更にF2を使用するため、このキーに特別な機能を追加するためのホットキーを作成しました。したがって、タイマーはこのキーを押したときにのみトリガーされ、タスクが完了するとオフになります。

また、スクリプトがこの特定のダイアログボックスにのみ影響を与えるようにしたいと考えました。たとえば、スタートメニューの項目の名前を変更しようとすると、同じ名前変更ダイアログが表示されるため、名前だけを考慮するだけでは不十分でした。

したがって、この関数が機能するためのいくつかの条件があります。まず、エクスプローラーウィンドウとWindowsデスクトップで動作します。残りのプログラムまたは環境では、F2は引き続き正常に動作します。また、前述のような競合を防ぐために、スクリプトは名前変更ダイアログウィンドウの幅と高さをチェックして、一致していることを確認します。

最後に、ファイル名全体を(Windows 7以前のように拡張子と共に)自動選択する機能も含めました。不要な場合は、送信^ + {end}という行を自由に削除してください。

英語版のWindowsの場合、「cambiar nombre」を名前変更ダイアログウィンドウのタイトルにあるものに変更する必要があります。また、「s」を「y」に変更します。動作しない場合は、Autoit3ウィンドウスパイを使用して、名前変更ダイアログウィンドウが実際にこのサイズであることを確認することもできます((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
Elaphe

ファイルの名前を変更する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
0
Richard