回答:
AutoHotkeyスクリプトを使用すると可能です。
While, 1
{
WinWait, Rename ahk_class #32770
WinActivate,
ControlClick, Button1
}
AutoHotkeyをインストールし、上記のコードを拡張子.ahkのファイルに保存して、スクリプトを起動します。[名前の変更]ウィンドウが表示されるまで待機します。実行すると、[はい]ボタン(ここでは[Button1]で識別されます)が自動的に「クリック」されます。
AutoHotkeyをインストールしたくない場合は、同じスクリプトのコンパイル済みバージョンを以下に示します。実行可能ファイルを実行し、その魔法を実行するのを見ます:-)。
質問がまだ表示されているため、実際には質問に答えていないことに注意してください。しかし、自動化されているため、もう煩わされることはありません。
#32770
は多くの種類のウィンドウで非常に一般的です(検索してみてください)。したがって、このスクリプトは「名前の変更」というタイトルの多くの種類のウィンドウで何かを行います。つまり、あなたが交渉したよりも多くの助けを得ているかもしれません:)
:-(
受け入れられた答えについてのコメントに応じて、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
}
適切なツール、忍耐、素敵な逆アセンブラー、そして運があれば無効にすることができます。
ただし、レジストリキーを変更するほど簡単ではありません。
使用中のファイルを削除しようとすると、誰かが「遅延」を無効にする例を次に示します。
http://www.codeproject.com/KB/system/NoDeleteDelay.aspx
いろいろと調べてみたところ、有用なものが見つかりませんでした。
RtvRecoよりも優れたソリューションは、誰かが「Rename2」のようなコンテキストメニューにメニューオプションを作成し、新しいファイル名を要求するメッセージボックスをポップアップし、Windows APIを使用して名前を変更することだと思います。
:-)
explorer.exe
、デフォルトのものについて私を悩ます多くのものを修正/改善/削除するためにパッチを当てるプログラムです。
アプリをダウンロードするのではなく、cmd(コマンドプロンプト)で 'ren * .aa * .bb'コマンドを使用しないのはなぜですか?
Yes
、エクスプローラーがポップアップするダイアログでクリックするのに必要な時間よりも長いアップ。
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とほぼ同じくらい悪いです。初心者にはデフォルトで安全に設定するのではなく、上級ユーザーが選択して上書きできるようにするのではなく、ユーザーに最適なものを決定します。
ただし、すべてが失われるわけではありません。
RtvRecoを使用して、警告が表示されたらすぐに自動的に閉じることができます。この気の利いた小さなツールは、迷惑なダイアログボックスでボタンを押し、メニュー項目を選択し、ウィンドウを最大化、最小化することで、Windowsの多くの側面を自動化するように設計されています。
...または、Windowsエクスプローラの代わりに適切なファイルマネージャーを使用します(例:Total Commander)。
どちらのプログラムもシェアウェアです。購入する前に試してください。
私はこのレジストリハックを知っていますが、Windows 7では動作しません
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System]
ConsentPromptBehaviorAdminの値をゼロ(0)に設定して再起動します。
ps:もちろん、Total Commanderに代わる無料の選択肢があります。たまたま私が選んだファイルマネージャーです。
自動的にダウンロードされると、拡張子として日付と時刻が追加されたファイルがあるためです。だから私は解決策を探していて、それを見つけました。
F ree Commanderというプログラムをダウンロードします。ポータブルバージョンがあり、必要に応じてUSBサムドライブにインストールできます。
このプログラムを使用すると、私の場合のように複数のファイルを選択することができ、本当に確認せずに拡張子の名前を変更します。
私はこれをどちらも使わないで本当に可能だとは思いません:
個人的にはPTFB(Push the Freakin 'Button)を使用しています。リソースがかなり少なく、非常に高速です。それは正確に安くはありませんが、他のもののために持っている便利なものです。
また、この愚かなメッセージに非常にうんざりしていたので、いくつかの新しいアイデアを使って独自のAutohotkey Scriptを作成しました。
永続的なsettimerや「while」コマンドが常にリソースを消費するのは望ましくありません。ファイルの名前変更には常にF2を使用しているため、このキーに特別な機能を追加するホットキーを作成しました。したがって、タイマーはこのキーを押したときにのみトリガーされ、タスクが完了するとオフになります。
また、スクリプトがこの特定のダイアログボックスにのみ影響するようにしたいと考えました。たとえば、スタートメニューの項目の名前を変更しようとすると、同じ名前変更ダイアログが表示されるため、名前だけを考慮するだけでは十分ではありませんでした。
そのため、この関数が機能するにはいくつかの条件があります。まず、エクスプローラーウィンドウと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
}
ファイルの名前を変更するvb-scriptを作成し、特別なフォルダー「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