web-dev-qa-db-ja.com

ダブルクリックしてもWindowsバッチファイルが実行されません。cmd.exeとの関連付けを復元するにはどうすればよいですか?

Windows 8 64ビット。ログインしているユーザーに管理者権限があります。コマンドウィンドウを開くと、ウィンドウのタイトルに「管理者:cmd.exe」とさえ表示されます。

そのため、.batファイルの関連付けをNotepad ++で.batファイルを開くように設定しましたが、ダブルクリックしたときにbatファイルを実行するように設定できなくなりました。レジストリを編集して無駄になるように指示するいくつかのWebページを試しました。

PCに.regファイルをマージしようとすると、「アクセス権がありません」というエラーが表示されます。私のユーザーは「管理者」ではありませんが、「チャック」ユーザーには管理者権限があります。それは常に持っています。

  1. このメソッド を試してみましたが、今回は.regファイルがエラーなしでマージされましたが、.batファイルをダブルクリックすると、メモ帳++で開きます。ファイルをダウンロードして、.batファイルのassocのみを変更しました。 PCを再起動する必要がありますか?

  2. ここでレジストリを編集してみました: ここをクリック 。それもうまくいきませんでした。

  3. .batファイル拡張子は、コントロールパネルの[プログラムとのファイル拡張子の関連付け]では変更できません。 cmd.exeを.batファイルに関連付けようとすると、「そのプログラムをこのファイルに関連付けることはできません」などのエラーが表示されます。

  4. このリンク が見つかりましたが、FileExtsの下に.batファイルのエントリがありません。また、このリンクには、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.b‌​at\UserChoiceを削除するためのUserChoiceキーがありません。

  5. PCを再起動しても、同じ問題が発生します。 Notepad ++が実行されるたびにそれ自体との関連付けが復元されないようにします。編集:NPP設定に関する限り、.batファイルは登録されません。

これ以上のアイデア?私はこれを3か月前からオフにして扱いました。

注:この問題に対するいくつかの修正はWindows 7では機能しますが、Windows 8では機能しません。


更新:修正しました。そうしなければならなかった

  1. デスクトップにregedt32.exeへのショートカットを作成します。
  2. ユーザーに管理者権限があるにもかかわらず、ショートカットを右クリックして[管理者として実行]を実行します。
  3. レジストリ全体で文字列 "notepad"を検索します。ここで、こっそりした小さなものがHKEY_CURRENT_USER\Software\Microsoft\Windows\\**Roaming**\OpenWith\FileExts\\.batで見つかり、UserChoiceアイテムを削除しました。
  4. ウィンドウを再起動します。
2
Bulrush

Windows 10でも同じ問題が発生します。以下の手順に従って解決しました。

  1. 管理者特権でregeditを実行します。 Windows 10では、エクスプローラーウィンドウ(ファイルフォルダーなど)を開き、 'Alt-F S A'(引用符もスペースもなし)を押すと、PowerShellウィンドウが開きます。 「regedit」と入力して戻ります。 regeditウィンドウが開きます。
  2. \ HKEY_CURRENT_USER\Software\Microsoftに移動します。
  3. フィールド全体が同じでなければならないことを指定して、「。bat」を検索します。私のコンピューターでは、次の場所にあります:\ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.bat

  4. エディターまたは指定したものを指定する「UserChoice」があることを確認します。

  5. 「UserChoice」を削除します。
  6. regeditを終了します。

.batファイルをダブルクリックすると、実行されるはずです。

Windows 10を実行しているPCを再起動する必要はありませんでした。

2
Yuan Liu

これはあなたが管理者であることを前提としています

コマンドラインから関連付けを設定します。start-> run-> enter 'cmd'(引用符なし)でEnterキーを押します。

次に、

cmd /c assoc .bat

これはあなたにOSのファイルタイプを与えます考える.batファイルは/ does/whatever

cmd /c ftype batfile

これは、ファイルを「実行」したときに実行されるコマンドを提供します-最初のコマンドが「.bat = batfile」を返すと仮定すると、関連付けを設定する必要があり、このコマンドでそれを行う必要があります

Ftype batfile="%1" %*
1
Junkiebev

Cmd、bat、exeの関連付けの復元は、他のファイルタイプとは動作が異なります。

これらを復元するには、管理者としてCMD.EXEを実行してから、次のようにします。

Microsoft Windows [Version 6.0.6003]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>assoc.bat=exefile
.bat=exefile

C:\Windows\system32>assoc.cmd=exefile
.cmd=exefile

それでおしまい!

0
Dagelf