web-dev-qa-db-ja.com

どのように私は.batファイルとシステムの関連付けを復元することができます(ダブルクリックした時に実行させる)?

システムが.batファイルを再度実行するようにするために、 'Opens with ...'プロパティを何に設定すればよいですか(ダブルクリックしたとき)。

どういうわけか私の上司は彼のワークステーションに.batファイルのハンドラはWordであるべきだと確信させました。さて、.batファイルをダブルクリックすると、それらはWordで開かれます。

65
justSteve

レジストリから.batファイルの関連付けを削除する必要があると思います(regeditプログラムを使用)。

この LockerGnomeのフォーラムスレッド に従って、レジストリ設定を削除する必要がありますnderneathこのキー:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat

安全を期すために、これを行う前にレジストリをバックアップしておくことをお勧めします。

56
Kaleb Brasee

このレジストリキーファイルがそれを行います。 「restore.reg」というテキストファイルにコピーして貼り付け、ダブルクリックしてレジストリにマージします。

.batファイル用に誤って作成した可能性があるユーザーごとの設定を消去し、.bat <-> batfileファイルタイプの関係やbatfileを起動するための実際のパラメーターなど、システムのデフォルト設定に戻します。

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]
[-HKEY_CURRENT_USER\Software\Classes\.bat]
[-HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
@="batfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\Shell\open\command]
@="\"%1\" %*"
32
Factor Mystic

私は同じ問題を抱えていました(Windows 7の場合)。バッチファイルが実行されずにメモ帳で開かれていました。

下記の.batファイル用のレジストリを修正すると(それが動作する他のマシンと同様に)、バッチは正しく実行されます。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\

.bat                --> default-> Value not set
.bat/OpenWithList   --> default-> Value not set
.bat/OpenWithProgIds--> default-> Value not set
                        batfile-> Zero length binary values 

これらのエントリを残しますが、.batの下にある他のエントリはすべて削除します。ダブルクリックでバッチファイルを更新して実行します - 正しく実行されます。

10
Dreamer

上記の答えのどれもが私が働いていたマシンのためにそれを固定しませんでした、しかしそれがAdminシェルを始めて実行していたことを固定したもの

assoc .bat=batfile
assoc .cmd=batfile
5
Niklas R

この答え の情報から、 私の質問 を解決することができました。

そこに記載されているレジストリキーを開き、

  • UserChoiceキーを削除しました
  • OpenWithListキーの下のすべてのエントリを削除しました
3
GreenGiant

Kalebによって40票を得た答えは私のために働かなかったが私は答えを見つけることになった。 batファイルを再度実行するには、次の場所に移動する必要があります。

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes.bat]をクリックして(デフォルト) "batfile"に設定します。ダブルクリックではなく、WordまたはNotepad ++でバッチスクリプトを開く場合は、それらのプログラムが(デフォルト)を独自のMIMEに設定しているためです。

簡単な修正が必要な場合は、テキストファイルを開いて貼り付けるだけです。

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
    @="batfile"

拡張子.regを付けて保存し、ダブルクリックしてマージします。

2
thebunnyrules

Windows 8では、メモ帳を使用してバッチファイルを作成または変更しますが、その秘密は次のとおりです。

二重引用符を使用してバッチファイルを保存します。ファイルを保存するために、文字どおり "MYBACK.BAT"を保存ボックスに二重引用符を使用して使用します。 MYBACK.BATの代わりに

1
user351257

レジストリであなた。batエントリはbatfileエントリを指す必要があります。 :

[HKEY_CLASSES_ROOT\.bat]
@="batfile"
.....

当然、あなたはbatfileレジストリエントリがあることを確認する必要があるでしょう。

[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
.....
1
user6621

繰り返しますが、これまでの答えのどれもここでそれをしませんでした。
たとえば、[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\Shell]のデフォルト値をeditからopenに変更する必要がありました。

(エクスプローラのフォルダオプションダイアログでファイルの種類の拡張の関連付けを変更した後、BATファイルを変更することはできません。特別な例外があるようです。ただし、I 追加 BATの種類エクスプローラのフォルダオプションダイアログで、「編集」がデフォルトのシェル動詞になります。)

検査するさまざまな場所

したがって、やはりさまざまな理由やさまざまなOSのバージョンがあり、(少なくとも)次のレジストリフォルダー(およびサブフォルダー)の(デフォルト)値を確認する必要があります。そして私はそのリストがOSに関連する優先順位を反映するかもしれないと思います:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]  (if present: remove "UserChoice")
[HKEY_CURRENT_USER\Software\Classes\.bat]  (if present: @ = "batfile")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]  (if present)
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\Shell]  (if present: @ = "open")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\Shell\open\command]  (if present: @ = "\"%1\" %*")
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]  @ = "batfile"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\Shell]  @ = "open"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\Shell\open\command]  @ = "\"%1\" %*"
[HKEY_CLASSES_ROOT\.bat]  @ = "batfile"
[HKEY_CLASSES_ROOT\batfile]
[HKEY_CLASSES_ROOT\batfile\Shell]  @ = "open"
[HKEY_CLASSES_ROOT\batfile\Shell\open\command]  @ = "\"%1\" %*"
0
kxr

レジストリを編集する手間を省くために(そして多くの人にとって怖さと脅迫のために)、無料で、優れた、そして非侵襲的な修復ユーティリティを使うことができます。(それに対して many other crapware) tweaking.com Windowsの修復

具体的には:それをインストールし、「修復」タブに進んで「修復を開く」をクリックし、「04システムファイルの登録」にチェックマークを入れてから「修復の開始」ボタンをクリックします。

そのプログラムのユーザーインターフェースは時間の経過とともに変化してきたので、将来的には、これを行う人は誰でもこのオプションを見つけるためにプログラムを探索する必要があるかもしれません。

他の多くの問題があなたのBossのコンピュータに存在すると私は推測して危険です、それで彼はすべてのプログラムの修理を実行したくなるかもしれません。

注:私はtweaking.comと提携していません。私はプログラムの大ファンです。それを巧みに使うことで私のコンピュータのオペレーティングシステムを救うか、あるいは頑固な問題を何度も解決した。

0
r_alex_hall

レジストリの内容は、Windowsのバージョンによって異なります。

同じバージョンのO/Sを持つ別のコンピュータを見つけて、regeditを使ってHKEY_CLASSES_ROOT\.batHKEY_CLASSES_ROOT\batfileの内容をエクスポートすることをお勧めします。

それからBossのマシンに行き、上記の二つのキーを削除して二つのファイルをインポートしてください。

0
harrymc