

Windowsの.batファイルを`プログラムから開く`にはどうすればいいのでしょうか?  
右クリックしても`プログラムから開く`メニューが見当たりません  
Atom Editorなどを使って開きたいです  
ただし、拡張子の関連付けを変更したくはありません。(普通に開くとcmd.exeで実行されるようにはしておきたい)  
どうすればいいのでしょうか?

OS: windows10 Home 1709


CC BY-SA 3.0
2017-11-27T14:26:20.957
39890
2017-11-29T01:04:38.210
2017-11-28T13:02:52.093
5246
5246
question
windows-10 batch-file
Windowsで.batファイルを右クリックしても"プログラムから開く"メニューがない


  * 開きたいプログラムにD&Dする
  * 右クリックで編集を押す

お好きな方を


CC BY-SA 3.0
2017-11-28T02:34:31.780
39896
2017-11-28T02:34:31.780
23941
39890
answer


「送る」を使う方法があります。

エクスプローラーで `shell:sendto` を開いて、プログラムのショートカットを作成してください。.bat ファイル
を右クリック→送る→作成したショートカット を選べばプログラムから開くことが出来ます。


CC BY-SA 3.0
2017-11-28T05:16:17.657
39898
2017-11-28T05:16:17.657
5008
39890
answer


.batファイルには、コマンドプロンプトで実行されるプログラムを書きます。  
なので、コマンドプロンプトで.batファイルを実行することが出来ます。

具体的には、以下のような操作をします  
・コマンドプロンプトを起動して、コマンドプロンプトのウィンドウに.batファイルをドラッグ＆ドロップする。  
・コマンドプロンプトで、.batファイル名を入力してリターンキーを押す。（.batファイル名の前にフォルダ名を付ける必要がある事もある。どのフォルダーに居るのかに依存）

[補足]  
.batファイルがメッセージを表示するものの場合、「送る」でショートカットを作って、それをクリックする方法は良くありません。というのは、ショートカットをクリックするとコマンドプロンプトが起動されて、.batファイルが実行され、実行が終わると同時にコマンドプロンプトが終了（画面から消える）するので、メッセージを読む余裕がないからです。


CC BY-SA 3.0
2017-11-28T07:20:42.197
39901
2017-11-28T07:20:42.197
217
39890
answer


送るなどに入れても実現できますが、`右クリック～送る～Atom`と選択するよりも、`右クリック～Atom`とできた方がワンクッション少なくて良いかな？と思うのでレジストリをいじる方法を提案します。

* * *

  1. レジストリを開く

`Windows + r`を押して`regedit`を入力、レジストリエディタを起動します。  
`\HKEY_CURRENT_USER\Software\Classes\*\`に移動します。  
`*`の並びにズラッと並んでるのは拡張子です。  
今回は`.bat`だけを対象にしようとしたんですが、どうにもできなかったので`*`でやります。  
`*`以下に設定すると全てのファイルが対象になるので、bat以外のファイルのメニューにも増えてしまいますが...

  2. atom用のキーを作る

`*`を右クリックして[新規]-[キー]を選択。新しいキーの名前を`shell`に変更。  
更にその下に`atom`というキーを作る。この`atom`という名前自体は何でも良いです。

  3. 右クリックメニューを作る

先程作ったキー`atom`をクリックすると、右側に`(規定)`というのがあると思います。  
(規定)をダブルクリックするとダイアログが開くので、『値のデータ』というところにメニュー名を入力してやります。  
今回は`Open with Atom`にします。  
※本来、任意のメニュー名が設定できるんですが、この設定をしてAtomを起動すると、Atom本来の設定と被ってしまって強制的にメニュー名が変えられてしまうようです。

  4. 実行ファイルを指定する

先程作ったキー`atom`の下に`command`というキーを作ってやります。  
できた`command`をクリックすると、右側に`(規定)`というのがあります。  
(規定)をダブルクリックするとダイアログが開くので、『値のデータ』というところに実行ファイルへのpathを入力してやります。  
atomの実行ファイルが`C:\Users\hoge\AppData\Local\atom\app-1.19.2\atom.exe`にあるとしたら、  
`"C:\Users\hoge\AppData\Local\atom\app-1.19.2\atom.exe" "%1"`  
と指定してやります。  
ちなみに、ダブルクォーテーションで囲んでやらないと、半角スペースなどを含むpathで開けないことがあるので注意。

  5. 試してみる

適当なbatファイルを右クリックしてみてください。  
`Atom Editor`というメニューが増えて、そのメニューを選択するとAtomが起動すると思います。  
最初に言いましたが、全てのファイルでメニューが追加されてると思うので、txtやdocx、html、jsなどでも同様のメニューで開けることを確認してみてください。

* * *

参考までに、Atomだけで良いのなら、Atomの設定から簡単に右クリックメニューに『Open with Atom』というメニューを追加・削除できますよ。

[File]-[Settings]でSettingsが開く。  
Systemを選択で表示される  
`Show in file context menus`で、全ての種類のファイルの右クリックメニューに、  
`Show in foler context menus`で、フォルダの右クリックメニューに、  
`Open with Atom`というメニューが追加できます。


CC BY-SA 3.0
2017-11-29T00:54:04.950
39924
2017-11-29T01:04:38.210
2017-11-29T01:04:38.210
2383
2383
39890
answer